zoukankan      html  css  js  c++  java
  • Effective Java 65 Don't ignore exceptions

    Principle

    • An empty catch block defeats the purpose of exceptions, which is to force you to handle exceptional conditions.

      // Empty catch block ignores exception - Highly suspect!

      try {

      ...

      } catch (SomeException e) {

      }  

    • At the very least, the catch block should contain a comment explaining why it is appropriate to ignore the exception.

      An example of the sort of situation where it might be appropriate to ignore an exception is when closing a FileInputStream. You haven't changed the state of the file, so there's no need to perform any recovery action, and you've already read the information that you need from the file, so there's no reason to abort the operation in progress. Even in this case, it is wise to log the exception, so that you can investigate the matter if these exceptions happen often.  

      Summary

      The advice in this item applies equally to checked and unchecked exceptions. Whether an exception represents a predictable exceptional condition or a programming error, ignoring it with an empty catch block will result in a program that continues silently in the face of error. The program might then fail at an arbitrary time in the future, at a point in the code that bears no apparent relation to the source of the problem. Properly handling an exception can avert failure entirely. Merely letting an exception propagate outward can at least cause the program to fail swiftly, preserving information to aid in debugging the failure.

         

         

  • 相关阅读:
    面试常见问题汇总
    java static变量及函数
    java自定义注解及其信息提取
    testNG 注释实例
    让我欲罢不能的node.js
    利用html 5 websocket做个山寨版web聊天室(手写C#服务器)
    html5 Web Workers
    html5 postMessage解决跨域、跨窗口消息传递
    C# socket编程实践——支持广播的简单socket服务器
    简单理解Socket
  • 原文地址:https://www.cnblogs.com/haokaibo/p/do-not-ignore-exceptions.html
Copyright © 2011-2022 走看看