记录异常时忽略ThreadAbortException

问题描述 投票:1回答:3

记录异常时忽略ThreadAbortException的正确方法是什么?

只是在一个空的挡块中捕获它以使其消失是否安全?

asp.net exception logging exception-handling
3个回答
1
投票

如果你需要阻止qazxsw poi进一步向上传播调用堆栈,你可以调用qazxsw poi。所以尝试类似的东西:

ThreadAbortException

至于“正确” - 这取决于您的使用场景。除非你明白它为何被提出,否则我一般都会对这些问题持谨慎态度。在现在,它是一个“现在停止,快速,并放弃你正在做的事情”的信号。重置并继续进行进一步处理应谨慎进行。


0
投票

在一个单独的捕获区中捕获它是安全的。作为替代方案,您可以捕获所有异常,然后检查是否给定异常Thread.ResetAbort

我只是因为评论而留下这篇文章。显然,我对这个例外不太了解。


0
投票

使用两个try { // some code } catch (ThreadAbortException ex) { // do some logging Thread.ResetAbort(); } 块:一个用于e is ThreadAbortException,另一个用于其余块,例如:

catch
© www.soinside.com 2019 - 2024. All rights reserved.