0

我正在做一个物理程序,随着时间的推移,我继续用异常处理来捆绑越来越多的松散端,以防止冻结和锁定。现在我在控制台中遇到了某些异常,例如 StringFormatException(s),但是这个错误不会冻结程序,也不会以任何方式影响运行时,它只是显示在 IDE 的终端(Eclipse IDE,JRE 7 )。在处理诸如此类的错误时,(似乎)不会影响运行时,即使程序运行良好,处理异常仍然很重要吗?如果我将程序导出为 .jar 并且只处理这些类型的错误,用户会注意到吗?为什么有些错误会导致大问题,而有些则不会?

旁注:我问这个主要是因为在未来,当承担比这个大得多的项目时,我相信有时我的代码中可能存在大量异常被抛出但尚未处理的地方. 在涉及数万行代码的大型项目中,许多程序员是否会忽略这些类型的不影响逻辑或运行时的错误,并得出结论认为没有必要或不值得花时间去修复所有这些错误?或者,是否有必要养成一种习惯,将可能的错误抛出情况记入记忆中,并掌握所有可能的错误。

如果您有可用的源代码并注意到此类事情,将非常感谢具有与此类似的错误的软件示例,允许程序像什么都没发生一样运行的示例。

4

2 回答 2

3

即使程序运行良好,处理异常仍然很重要吗?

即使它看起来工作正常,也可能不是。如果您养成忽略异常的习惯,您可以轻松地忽略导致问题的异常。

如果我将程序导出为 .jar 并且只处理这些类型的错误,用户会注意到吗?

这取决于他们是否看到输出。

为什么有些错误会导致大问题,而有些则不会?

有些错误比其他错误更严重。理想情况下,您只需要严重错误或没有错误。不太严重的错误更有可能出现更难/更不可能修复的微妙问题。

在涉及数万行代码的大型项目中,许多程序员是否会忽略这些类型的不影响逻辑或运行时的错误,并得出结论认为没有必要或不值得花时间去修复所有这些错误?

除非你打算用它做一些有用的事情,否则最好不要处理或捕获异常。否则最好重新抛出它,前提是它至少会被记录下来。

那些允许程序像什么都没发生一样运行的程序将不胜感激

FileNotFoundException、EOFException、NumberFormatException 是在代码中处理的常见异常(但很少被忽略)谷歌示例。

假装没有发生异常几乎总是一个坏主意。如果您不在乎某件事是否有效,那么您通常一开始就不需要它。

于 2012-08-06T14:22:47.263 回答
0

可能存在不影响程序执行的运行时错误,但我强烈敦促您尽可能处理或修复每个错误的原因。

如果您不修复或处理运行时错误,您的日志(如果有的话!)将充满它们,您将无法从所有噪音中看到您真正应该关心的错误。

于 2012-08-06T14:23:29.267 回答