我不太明白“适当的异常处理”
这个话题。
"Exceptions should only be caught only if you can do something to fix that exceptional situation".
我不明白这个。例如:
如果我没有捕捉到 Convert.toInt()
抛出的 FormatException
,即使只是向用户显示异常消息,我的程序也会崩溃。如果我捕获了这个异常并告诉用户输入的格式错误,它就会存活下来。
那么,我是否应该捕获此类异常?
最佳答案
Exceptions should only be caught only if you can do something to fix that exceptional situation
修复 在这里可能不是最好的词。如果可以处理,则应该捕获异常。处理可能意味着:
- 修复问题或返回一些默认值
- 重试某事
- 记录或通知用户(我相信每个异常都应该记录下来,即使你可以修复它)
- 抛出更多高级异常
但是你不应该捕获异常然后什么都不做:
catch(FormatException ex)
{
}
这只会吞下异常,您永远不会知道是否发生了不好的事情。
关于c# - 使用 try-catch 捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21014211/