一、异常分类
1、分类
2、编译期异常
编译期异常若不处理将不会编译成功,也就不会产生class字节码文件;
3、两种处理异常的方式
3.1 throws 抛出去交给虚拟机处理
虚拟机处理方式是中断程序并控制台打印异常;
中断程序意味着下面的代码将不会执行;
3.2 try/catch捕获异常,
try/catch方法体之后的代码依旧可以执行;
4、运行期异常
5、Error
6、异常的产生过程
throw关键字
1、基础用法
2、方法中加合法校验,告知方法的调用者
数组越界判断
3、一切皆为对象,创建的是运行期对象,则可以不处理(throws/try catch),直接交给JVM处理(打印并终止程序)
4、Objects非空判断
try/catch
1、throws是中断处理,后续代码不能执行
try/catch方法体之后的后续代码有没有异常都可以继续执行;
2、当try方法体中出现异常才会执行catch方法体中代码
父类方法声明的异常是什么子类重写的方法就是什么,可以是父类方法声明的异常的子类
自定义异常
1、nullpointException
2、运行期异常如果能预见的话最好也是try/catch处理,不要交给虚拟机中断程序处理
3、自定义异常使用
被调用方法要改成try/catch,要在catch处理异常中加return结束方法,不然呢try/catch方法体下面的代码也会执行