create Exception Invoker
Creates an ExceptionInvoker for a method annotated with @ExceptionHandler.
This function inspects the reflective method to determine which supported exception-handler signature it uses, as defined by ExceptionSignatureKind. Supported shapes are:
(event: Event, throwable: Throwable)(event: Event)(throwable: Throwable)
Methods whose parameter lists do not match one of these shapes return null, allowing the subscriber-scanning logic to silently skip invalid handlers in a manner consistent with normal event handler discovery.
Invocation Strategy
When a method is valid, the event system attempts to generate a high-performance lambda via LambdaMetafactory. If this fails—for example due to module visibility, lookup access rules, or JVM restrictions—the system logs the failure and falls back to a reflective invoker.
The returned invoker is specific to:
signature shape (event only, throwable only, or event + throwable)
context (instance handler vs static handler)
This ensures that exception dispatch can uniformly invoke handlers without performing reflective analysis at runtime.
Return Value
Returns a fully constructed ExceptionInvoker for valid exception handler methods.
Returns
nullwhen the method's signature does not match any permitted@ExceptionHandlershape.
Return
a compiled or reflective ExceptionInvoker, or null if the method is not a valid exception handler.
Parameters
the reflective method to convert into an exception-handler invoker.