Package net.bytebuddy.asm
Class Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling
java.lang.Object
org.objectweb.asm.MethodVisitor
net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
net.bytebuddy.asm.Advice.AdviceVisitor
net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling
- All Implemented Interfaces:
Advice.Dispatcher.RelocationHandler.Relocation
- Enclosing class:
Advice.AdviceVisitor.WithExitAdvice
protected static class Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling
extends Advice.AdviceVisitor.WithExitAdvice
An advice visitor that captures exceptions by weaving try-catch blocks around user code.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
Advice.AdviceVisitor.WithExitAdvice.WithExceptionHandling, Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandlingNested classes/interfaces inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
Advice.AdviceVisitor.WithExitAdvice, Advice.AdviceVisitor.WithoutExitAdviceNested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation
Advice.Dispatcher.RelocationHandler.Relocation.ForLabel -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.objectweb.asm.LabelIndicates the exception handler.private final TypeDescriptionThe type of the handled throwable type for which this advice is invoked.protected final org.objectweb.asm.LabelIndicates the start of the user method.Fields inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
returnHandlerFields inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
argumentHandler, instrumentedMethod, methodExit, methodSizeHandler, stackMapFrameHandlerFields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedWithExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, StackManipulation exceptionHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.Resolved.ForMethodEnter methodEnter, Advice.Dispatcher.Resolved.ForMethodExit methodExit, int writerFlags, int readerFlags, TypeDescription throwable) Creates a new advice visitor that captures exception by weaving try-catch blocks around user code. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidInvoked after the exit advice method has returned.protected voidInvoked when the user method's exception handler (if any) is supposed to be prepared.protected voidInvoked after the user method has returned.protected voidWrites the advice for entering the instrumented method.Methods inherited from class net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice
apply, onUserEnd, onVisitInsnMethods inherited from class net.bytebuddy.asm.Advice.AdviceVisitor
onAfterExceptionTable, onVisitFrame, onVisitIincInsn, onVisitVarInsn, visitLocalVariable, visitLocalVariableAnnotation, visitMaxsMethods inherited from class net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor
onVisitFieldInsn, onVisitIntInsn, onVisitInvokeDynamicInsn, onVisitJumpInsn, onVisitLabel, onVisitLdcInsn, onVisitLookupSwitchInsn, onVisitMethodInsn, onVisitMethodInsn, onVisitMultiANewArrayInsn, onVisitTableSwitchInsn, onVisitTypeInsn, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTypeInsn, visitVarInsnMethods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitInsnAnnotation, visitLineNumber, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation
-
Field Details
-
throwable
The type of the handled throwable type for which this advice is invoked. -
exceptionHandler
private final org.objectweb.asm.Label exceptionHandlerIndicates the exception handler. -
userStart
protected final org.objectweb.asm.Label userStartIndicates the start of the user method.
-
-
Constructor Details
-
WithExceptionHandling
protected WithExceptionHandling(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, StackManipulation exceptionHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.Resolved.ForMethodEnter methodEnter, Advice.Dispatcher.Resolved.ForMethodExit methodExit, int writerFlags, int readerFlags, TypeDescription throwable) Creates a new advice visitor that captures exception by weaving try-catch blocks around user code.- Parameters:
methodVisitor- The method visitor for the instrumented method.implementationContext- The implementation context to use.assigner- The assigner to use.exceptionHandler- The stack manipulation to apply within a suppression handler.instrumentedType- A description of the instrumented type.instrumentedMethod- A description of the instrumented method.methodEnter- The dispatcher to be used for method enter.methodExit- The dispatcher to be used for method exit.writerFlags- The ASM writer flags that were set.readerFlags- The ASM reader flags that were set.throwable- The type of the handled throwable type for which this advice is invoked.
-
-
Method Details
-
onUserPrepare
protected void onUserPrepare()Description copied from class:Advice.AdviceVisitorInvoked when the user method's exception handler (if any) is supposed to be prepared.- Specified by:
onUserPreparein classAdvice.AdviceVisitor
-
onUserStart
protected void onUserStart()Description copied from class:Advice.AdviceVisitorWrites the advice for entering the instrumented method.- Specified by:
onUserStartin classAdvice.AdviceVisitor
-
onUserReturn
protected void onUserReturn()Description copied from class:Advice.AdviceVisitor.WithExitAdviceInvoked after the user method has returned.- Specified by:
onUserReturnin classAdvice.AdviceVisitor.WithExitAdvice
-
onExitAdviceReturn
protected void onExitAdviceReturn()Description copied from class:Advice.AdviceVisitor.WithExitAdviceInvoked after the exit advice method has returned.- Specified by:
onExitAdviceReturnin classAdvice.AdviceVisitor.WithExitAdvice
-