非检查异常:
1.RuntimeException异常会由java虚拟机自动抛出并自动捕获(就算我们没写异常捕获语句运行时也会抛出错误!!),此类异常的出现绝大数情况是代码本身有问题应该从逻辑上去解决并改进代码。
检查异常:
2.引起该异常的原因多种多样,比如说文件不存在、或者是连接错误等等。跟它的“兄弟”RuntimeException运行异常不同,该异常我们必须手动在代码里添加捕获语句来处理该异常,这也是我们学习java异常语句中主要处理的异常对象。
3.多个catch块捕获多钟错误的顺序,先子类再父类(顺序不对编译器会提醒错误)
4.
finally中有return会覆盖前面执行的return,尽量不要在finally里面写return.
参考:https://www.cnblogs.com/hysum/p/7112011.html