目录
异常层次结构:
编译(checked)异常:指的是,代码在编译的时候,JVM就检查代码的正确性,从而抛出编译时就已能发现的异常
运行(unchecked)异常:指的是,代码在运行的过程中有可能抛出的异常,我们自定义异常时都是继承RuntimeException
自定义异常类:
都是继承RuntimeException的。之所以自定义业务异常,完全是为了起一个业务名字的异常类,抛开这一点,我们的程序中其实没必要自定义异常类的,就在代码有可能抛出异常的地方 new RuntimeException("我的业务异常描述信息");足够用!
通过以上图的示例会发现,当我们自己编写程序时,需要某种业务不合理时,就抛出异常,我们自定义的异常都是继承RuntimeExcepti