code: private void onHandlerEntry() {
          if (enabled) {
              Type exceptionType = handlers.get(handlerPendingInstruction);
  
              // Clear the pending instruction flag
              handlerPendingInstruction = null;
  
              // Filter the interested down to this exception
              Set<ProbeListener> filtered = new HashSet<ProbeListener>();
              for (ProbeListener listener : enabledListeners) {
                  ListenerConfiguration config = listener.getListenerConfiguration();
                  ProbeFilter filter = config.getTransformerData(EXCEPTION_FILTER_KEY);
                  if (filter.isBasicFilter() && filter.basicClassNameMatches(exceptionType.getClassName())) {
                      filtered.add(listener);
                  } else if (filter.isAdvancedFilter()) {
                      Class<?> clazz = getOwningClass(exceptionType.getInternalName());
                      if (clazz != null && filter.matches(clazz)) {
                          filtered.add(listener);
                      }
                  }
              }
  
              if (filtered.isEmpty()) {
                  return;
              }
  
              String key = createKey(exceptionType);
              ProbeImpl probe = getProbe(key);
              long probeId = probe.getIdentifier();
  
              setProbeInProgress(true);
              visitInsn(DUP); // throwable throwable
              visitLdcInsn(Long.valueOf(probeId)); // throwable throwable long1 long2
              visitInsn(DUP2_X1); // throwable long1 long2 throwable long1 long2
              visitInsn(POP2); // throwable long1 long2 throwable
              if (isStatic()) {
                  visitInsn(ACONST_NULL); // throwable long1 long2 throwable this
              } else {
                  visitVarInsn(ALOAD, 0); // throwable long1 long2 throwable this
              }
              visitInsn(SWAP); // throwable long1 long2 this throwable
              visitInsn(ACONST_NULL); // throwable long1 long2 this throwable null
              visitInsn(SWAP); // throwable long1 long2 this null throwable
              visitFireProbeInvocation(); // throwable
              setProbeInProgress(false);
  
              setProbeListeners(probe, filtered);
          }
      }
docs: Generate the code required to fire a probe out of an exception
  handler.