这是个好问题Catch block is not being evaluated when exceptions are thrown from finallys这是讨论在finally block 中抛出异常的一些有时意想不到的结果。
我想不出任何好的理由为什么你想在finally block 中抛出异常。如果之前有异常,那么它总是会丢失。我总是看到finally 用于以永远不应该抛出异常的方式进行清理。
谁能解释一下什么时候适合在finally block 中抛出异常?
最佳答案
try catch finally 是非常重要的结构。可以确定的是,即使抛出异常,finally block 中的代码也会被执行。处理外部资源并释放它们非常重要。垃圾收集不会为你做到这一点。在最后部分,您不应该有 return 语句或抛出异常。这样做是可能的,但这是一种不好的做法,并且可能会导致不可预测的结果。
关于c# - 在finally block 中抛出异常是否是一种好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152926/