java提供的异常类不够我们使用
自定义异常类定义名字一般以Exception结尾
可以继承Throwable 或 Exception 或 RuntimeException
如继承Exception就是编译期异常 如抛出了编译期异常必须处理 throws或try{}catch{}
如继承RunntimeException 自定义类是运行期异常 可以不处理 交给虚拟机中断处理
编译时异常 继承Exception
必须要处理(抛出或捕获) 不处理编译报错
01 定义编译时异常类
02 捕捉
03 抛出异常 调用者也抛出
04 抛出异常 调用者捕获
运行时异常 继承RuntimeException
01 定义运行时异常类
02 捕捉
03 抛出自定义异常
04 不处理自定义异常