c# - 是否应该在某个地方处理所有抛出的异常?

标签 c# exception

<分区>

抛出异常而不处理它是不好的做法吗?例如,如果我有一个数字在 Double.IsNaN() 上返回 true 而它不应该返回 true,我可以通过抛出异常来使程序崩溃吗?如果事件发生时没有优雅的方式继续操作,那么“处理”异常的意义何在?

最佳答案

在违反基本健全性检查的情况下添加异常没有坏处。这种异常唯一应该发生的时间应该是在测试期间,如果您错误地认为某些东西是公理化的,但实际上不是。您不一定需要处理此类异常。

如果您所说的是在正常程序运行期间可能发生的损坏状态,但您无法在应用程序的当前层处理,那么您似乎需要另一个层将从错误中恢复,与用户(或与您的代码的任何接口(interface))通信并采取适当的措施。 “适当的行动”可以是任何事情,从记录错误和终止到询问用户进一步的指示。不处理这种异常不是一个好主意。

关于c# - 是否应该在某个地方处理所有抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776167/

相关文章:

c# - 如何使用进度回调将文件下载到字符串中?

C# Interop Excel format like Excel's format as table

c# - 如何使用 NHibernate 将责任模式映射到 SQL

java - 当文件格式不正确/为空时抛出什么异常

Java 使用 obj.threadobj.join 抛出错误

java.util.NoSuchElementException : No line found

c# - 访问/写入 EventLog 时出现问题

c# - 使用 new 创建时命名 ValueTuple 属性

c# - 检查 C# 中的 Nullable Guid 是否为空

c++ - 访问违规阅读位置