##异常的类型
Error
Exception
java中可以将异常视为一个对象:
异常处理机制
捕获
关键词:try ,catch ,finally ,throw ,throws
-
try有一片监控区域
-
catch类似if,顺序结构第一个满足的执行,所以应该从小到大(异常存在于父子类的情况)(父>子)
-
catch中应该为想要捕获的异常类型
-
无论catch是否满足,都会执行finally行
-
快捷键操作
如果该异常可以被处理:如果不使用try catch程序在遇见异常时会停止,使用catch捕获后,程序可以继续往下运行
灵魂4问
- catch中的代码只有当异常捕获成功时才可以实现
- catch代码在捕获成功后不会继续往下运行
- JDK7新特性:一个catch可以捕获多个异常
- 如果catch中没有捕获到正确的异常,则会按照JVM虚拟机默认的处理方法进行处理(相当于白写了)
4.
不会输出"看看我执行了吗?…try"
自定义异常类
综合练习
抛出
- 注意:throw是结束方法,JVM默认处理是结束程序
- 如果只是抛出异常,不会输出任何
- 所以大多用在方法中
- 没有方法体时(没有sout),如果没有throw不会抛出异常(因为没有执行)
- 当处理不了异常时,用throws抛出(抛到更高处,让调用方法的人捕获(方法外捕获))
异常中的几种常见方法
自定义异常
异常的作用
- 提高代码的健壮性,使得代码在输入不合法时也能较正常的运行