try+catch可选+finally可选
先运行try中的代码,出现异常运行catch中的代码,finally必定运行(两种finally区域不运行情况参考finally不运行)
throws方法体抛出异常
在方法体的后面添加需要抛出的异常
throw内部抛出异常
自己创建异常,然后抛出,用抛出异常的手段去警告用户出错。其实完全可以在之前就判断是否有异常,然后不让用户执行到此处。用的比较少。
受检异常和非受检异常
属于Exception但不属于RuntimeException的是受检异常,
对于可能产生异常的代码,写代码的时候会飘红,就是必须处理异常,要么抛出,要么try,catch
属于Exception中的RuntimeException的异常就是非受检异常,对于可能产生异常的代码,编辑时不会飘红,只有运行时会出现异常,