https://bugs.freedesktop.org/show_bug.cgi?id=85190

--- Comment #43 from Stephan Bergmann <[email protected]> ---
(In reply to Lionel Elie Mamane from comment #42)
>  catch (java.lang.IncompatibleClassChangeError e2)
> {
>     LOGGER.error("Detected an IncompatibleClassChangeError");
>     throw new com.sun.star.lang.WrappedTargetException(e2, "caught a " +
> e2.getClass().getName(), this, new
> com.sun.star.uno.Exception(e2.getLocalizedMessage()));
> }
> 
> to me looks like it will not work, trying to pass a
> java.lang.IncompatibleClassChangeError through UNO.

No.  In UNO exception ctors, the optional leading Throwable argument ('e2') is
only used to pass it as 'cause' argument into the underlying
java.lang.Throwable ctor; it is not "passed through UNO."  What was problematic
about Noel's commit was that UNO exception css.lang.WrappedTargetException
takes a UNO Any argument containing a UNO exception value, and /that/ must not
be an arbitrary Java non-UNO exception (was erroneously 'e2', is now 'new
com.sun.star.uno.Exception(...)').

> Anyway, I improved the message / throwing:
> http://cgit.freedesktop.org/libreoffice/core/commit/
> ?id=f4a2cff16ea546e7d0a135d4b061a65e783ab422

That commit needlessly removes passing in the 'cause' argument.  Please
revisit.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to