【发布时间】:2012-09-04 08:43:25
【问题描述】:
最近,我与一位开发人员进行了一次有趣的对话,他告诉我,每次编写“尝试”时,都必须提供“捕获”。他无法解释为什么会有这条规则。他告诉我,这是一个好的编程原则。为什么有这个规则?
为了你的信息,我不同意他的观点。我认为有时你可以编写一个只有“finally”块的“try”块。但我确实认为如果你写了一个“catch”,你必须在你的 catch 中做一些事情。永远不要只是重新抛出错误。
【问题讨论】:
-
是的。仅当您打算处理错误时才应添加 catch 块。
-
我同意您关于有时使用
try/finally的问题。try/finally在总是需要清理时很有用,但异常将在更高级别处理(或记录)。非常有用,事实上,有内置支持(在 C# 中)用于生成它们(using和IDisposable) -
catch 语句或 finally 语句在 java 和 java 脚本中的某些语言语法中是强制性的,如果您不编写它们将无法编译。主要价值是捕获不同的异常类型并执行语句失败或成功执行必须执行的操作。
-
相关:stackoverflow.com/questions/128818/…(但根据FAQ,现在也离题了)
-
这怎么可能“没有建设性”?这是一个基本问题,有明确且明确的答案,涉及许多语言的最基本结构之一。
标签: try-catch