<分区>
抛出异常而不处理它是不好的做法吗?例如,如果我有一个数字在 Double.IsNaN() 上返回 true 而它不应该返回 true,我可以通过抛出异常来使程序崩溃吗?如果事件发生时没有优雅的方式继续操作,那么“处理”异常的意义何在?
<分区>
抛出异常而不处理它是不好的做法吗?例如,如果我有一个数字在 Double.IsNaN() 上返回 true 而它不应该返回 true,我可以通过抛出异常来使程序崩溃吗?如果事件发生时没有优雅的方式继续操作,那么“处理”异常的意义何在?
最佳答案
在违反基本健全性检查的情况下添加异常没有坏处。这种异常唯一应该发生的时间应该是在测试期间,如果您错误地认为某些东西是公理化的,但实际上不是。您不一定需要处理此类异常。
如果您所说的是在正常程序运行期间可能发生的损坏状态,但您无法在应用程序的当前层处理,那么您似乎需要另一个层将从错误中恢复,与用户(或与您的代码的任何接口(interface))通信并采取适当的措施。 “适当的行动”可以是任何事情,从记录错误和终止到询问用户进一步的指示。不处理这种异常不是一个好主意。
关于c# - 是否应该在某个地方处理所有抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776167/