Checked or Runtime Exception?
参考:Does Java need Checked Exceptions? (Bruce Eckel's MindView)
异常分为checked跟runtime
checked的异常总是要被抓住或者抛出:抓住的话,就会写(生成)很多没必要的代码,搞得代码很乱,而且java是默认你处理了这个异常,而当异常出现时假如我们不加处理,程序会继续跑下去;抛出的话,所有调用这段代码所在方法的地方也要处理异常,而且会使得继承的重载变得很糟糕。
你可能会给出很多理由,为什么用checked的异常,我的辩解在这http://tutorials.jenkov.com/java-exception-handling/checked-or-unchecked-exceptions.html的Checked or Unchecked?部分
假设,我们已经统一意见,使用runtime,抛弃checked。那么对于已有的JDK或者其他API里面的异常如何处理呢?
分两种情况把:
1 当我们要直接使用checked异常时
Bruce Eckel在他的文章里说得很清楚了,一个继承自RuntimeException的对象适配器适配Exception就ok了。
2 当我们要使用会抛出checked异常的某个类的某个方法时
能做的也就是,try catch时抛出一个运行时异常,来阻止程序继续运行,if necessary。