我们正在尝试更新我们的应用程序,以便提交它以获得 Vista 认证。部分要求是仅处理已知异常并让 Windows 错误报告处理所有未处理的异常。
我们的应用程序中有一个全局异常处理程序(订阅Application.ThreadException
事件),在那里,我们对已知异常执行某些处理,但如果一个异常未知,我们希望将其抛出以供应用程序终止并 WER 处理。
如果我们重新抛出然后重新创建调用堆栈,我们看不到这样做并维护调用堆栈的方法。
我们已经研究过终止方式,Environment.FailFast()
但我们认为这不会提供我们需要的异常信息。
我们是否遗漏了一些明显的东西?