Exception、RuntimeException

RuntimeException(非受检异常,不必须需要声明或者手动处理,出现异常可手动处理(继续运行)或者虚拟机处理(结束程序)),其他Exception和Error都是受检异常需要捕捉处理或者声明异常让调用者处理。

tip:finally是在return表达式运行后执行的,此时将要return的结果已经被暂存起来,待finally代码块执行结束后再将之前暂存的结果返回。即方法返回的最终值不受finally块中对结果的修改影响。不要在finally中使用return会使得方法返回值不可控(返回了finally中的值)。

推荐对外提供的开放接口使用错误码;公司内部跨应用远程服务调用优先考虑使用Result对象来封装错误码(如果使用异常抛出的返回形式,一旦调用方没有捕获,就会产生运行时错误,导致程序中断。此外如果抛出的异常中不添加栈信息,这是new自定义异常并加入自定义错误信息,对于调用段解决问题的帮助不会太大。)、错误信息描述信息;而应用内部则推荐直接抛出异常对象。

原文地址:https://www.cnblogs.com/leifonlyone/p/13130144.html