Java Exception Listener
You can catch every uncaught exception via Thread.UncaughtExceptionHandler. If that's not sufficient I would perhaps suggest some AOP/bytecode-weaving solution to implement some watch around each created exception.
I have done some thing similar using Java instrumentation API
, Create java agent and Class transformer to catch hold of required Exception class and instrument the byte code as necessary
you can follow up here Using Instrumentation to record unhandled exception
Above links will give you idea of how/when to use ASM or Instrumentation