@Documented @Retention(value=RUNTIME) @Target(value=PARAMETER) public static @interface Advice.Thrown
Indicates that the annotated parameter should be mapped to the Throwable
thrown by the instrumented method or to null
if the method returned regularly. Note that the Java runtime does not enforce checked exceptions. In order to capture any error, the parameter
type must therefore be of type Throwable
. By assigning another value or null
to this parameter, a thrown exception can be
suppressed.
Note: This annotation must only be used on exit advice methods.
Advice
,
Advice.OnMethodExit
Modifier and Type | Optional Element and Description |
---|---|
boolean |
readOnly
Indicates if it is possible to write to this parameter.
|
Assigner.Typing |
typing
Determines the typing that is applied when assigning the captured
Throwable to the annotated parameter. |
public abstract boolean readOnly
Indicates if it is possible to write to this parameter. If this property is set to false
, it is illegal to
write to the annotated parameter. If this property is set to true
, the annotated parameter can either be set
to null
to suppress an exception that was thrown by the adviced method or it can be set to any other exception
that will be thrown after the advice method returned.
If an exception is suppressed, the default value for the return type is returned from the method, i.e. 0
for any
numeric type and null
for a reference type. The default value can be replaced via the Advice.Return
annotation.
true
if this parameter is read-only.public abstract Assigner.Typing typing
Throwable
to the annotated parameter.Copyright © 2014–2018. All rights reserved.