c# - 在finally block 中抛出异常是否是一种好的做法?

标签 c# exception try-catch-finally

这是个好问题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/

相关文章:

c# - 创建 rsa-sha512 签名时算法无效

.net - 我是否应该始终使用TryGetValue访问.net词典?

java - 异常处理恢复行为

java - 当我尝试在finally block 中关闭BufferedReader时,为什么eclipse会提示?

c# - 如何使用 Web 代理从 Internet 读取 XML?

c# - 如何匹配字符串,忽略结束换行符?

c# - 调用 Google GCM 时未经授权

java - 何时记录链式异常?

c++ - 是否有任何理由按值捕获异常?

java - 如何避免在我的情况下返回 null?