<分区>
我想知道在实践中其他 SOer 如何处理和/或防止异常。
在什么情况下你会阻止异常,如何阻止? 在什么情况下会捕获异常?
我通常通过说 if(foo!=null) {...}
我发现在大多数情况下,这比使用 try-catch block 所涉及的一切都没有那么庞大。
当潜在异常更复杂或更多时,我使用 try-catch block 。
<分区>
我想知道在实践中其他 SOer 如何处理和/或防止异常。
在什么情况下你会阻止异常,如何阻止? 在什么情况下会捕获异常?
我通常通过说 if(foo!=null) {...}
我发现在大多数情况下,这比使用 try-catch block 所涉及的一切都没有那么庞大。
当潜在异常更复杂或更多时,我使用 try-catch block 。
最佳答案
在我看来,只有当引用为 null(同样,例如)实际上代表一个有效的程序状态时,才有意义防止 NullPointerException(例如)。如果没有,您不应该不阻止它发生,因为在那种情况下您希望该程序顽固地死去。
特别是在 Java 中,从 RuntimeException 派生出的某些异常(例如 IllegalArgumentException)实际上意味着表示编程错误,如果您的程序是正确的,这些情况就不应发生。我试着遵循这个。如果我正在编写一个对其参数进行限制的方法,我将不会试图避免抛出异常。我会积极地扔一个。
关于java - 在 Java 中防止异常与捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894829/
相关文章:
logging - NLog 自定义 LayoutRenderer 不工作
java - 为什么不同的 DatagramSocket 构造函数的行为如此不同? (绑定(bind)异常)
android - 不幸的是,MyApp 已停止 - logcat 中没有错误日志
java - 如何克服 Integer.parseInt(args[0]) 的 ArrayIndexOutOfBoundException?
swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?