There can only be one in-flight exception per thread. It makes no sense that I have to get it via a stack frame rather than via the backtrace. This is also problematic because certain unhandled exceptions (such as the FileNotFoundException thrown when Mono fails to load a dependent assembly) have no backtrace.