记录异常时忽略ThreadAbortException的正确方法是什么?
只是在一个空的挡块中捕获它以使其消失是否安全?
如果你需要阻止qazxsw poi进一步向上传播调用堆栈,你可以调用qazxsw poi。所以尝试类似的东西:
ThreadAbortException
至于“正确” - 这取决于您的使用场景。除非你明白它为何被提出,否则我一般都会对这些问题持谨慎态度。在现在,它是一个“现在停止,快速,并放弃你正在做的事情”的信号。重置并继续进行进一步处理应谨慎进行。
在一个单独的捕获区中捕获它是安全的。作为替代方案,您可以捕获所有异常,然后检查是否给定异常Thread.ResetAbort
我只是因为评论而留下这篇文章。显然,我对这个例外不太了解。
使用两个try
{
// some code
}
catch (ThreadAbortException ex)
{
// do some logging
Thread.ResetAbort();
}
块:一个用于e is ThreadAbortException
,另一个用于其余块,例如:
catch