AI-generated Key Takeaways
-
UndeclaredThrowableExceptionis an unchecked exception (extendsRuntimeException) that wraps a checked exception thrown by a proxy's invocation handler. -
It's thrown when the invocation handler's
invokemethod throws a checked exception not declared in the original method'sthrowsclause. -
The wrapped checked exception (the cause) can be retrieved using
getCause()or the legacy methodgetUndeclaredThrowable(). -
UndeclaredThrowableExceptionprovides a way to handle checked exceptions in situations where they are not expected, like in proxy invocations.
Thrown by a method invocation on a proxy instance if its invocation
handler's invoke method throws a
checked exception (a Throwable that is not assignable
to RuntimeException or Error) that
is not assignable to any of the exception types declared in the
throws clause of the method that was invoked on the
proxy instance and dispatched to the invocation handler.
An UndeclaredThrowableException instance contains
the undeclared checked exception that was thrown by the invocation
handler, and it can be retrieved with the
getUndeclaredThrowable() method.
UndeclaredThrowableException extends
RuntimeException, so it is an unchecked exception
that wraps a checked exception.
As of release 1.4, this exception has been retrofitted to
conform to the general purpose exception-chaining mechanism. The
"undeclared checked exception that was thrown by the invocation
handler" that may be provided at construction time and accessed via
the getUndeclaredThrowable() method is now known as the
cause, and may be accessed via the Throwable.getCause() method, as well as the aforementioned "legacy
method."
See Also
Public Constructor Summary
|
UndeclaredThrowableException(Throwable undeclaredThrowable)
Constructs an
UndeclaredThrowableException with the
specified Throwable. |
|
|
UndeclaredThrowableException(Throwable undeclaredThrowable, String s)
Constructs an
UndeclaredThrowableException with the
specified Throwable and a detail message. |
Public Method Summary
| Throwable |
getCause()
Returns the cause of this exception (the
Throwable
instance wrapped in this UndeclaredThrowableException,
which may be null). |
| Throwable |
getUndeclaredThrowable()
Returns the
Throwable instance wrapped in this
UndeclaredThrowableException, which may be null. |
Inherited Method Summary
Public Constructors
public UndeclaredThrowableException (Throwable undeclaredThrowable)
Constructs an UndeclaredThrowableException with the
specified Throwable.
Parameters
| undeclaredThrowable | the undeclared checked exception that was thrown |
|---|
Public Methods
public Throwable getCause ()
Returns the cause of this exception (the Throwable
instance wrapped in this UndeclaredThrowableException,
which may be null).
Returns
- the cause of this exception.
public Throwable getUndeclaredThrowable ()
Returns the Throwable instance wrapped in this
UndeclaredThrowableException, which may be null.
This method predates the general-purpose exception chaining facility.
The Throwable.getCause() method is now the preferred means of
obtaining this information.
Returns
- the undeclared checked exception that was thrown