异常:描述代码中出现的问题,程序出现了不正常的情况。程序在执行过程中,出现非正常的情况,最终会导致JVM非正常停止。语法错误不算异常。
Error:严重问题,通过代码无法处理。
Exception:异常类,程序本身可以处理。
1.RuntimeException 运行时异常(非受检异常) 2.除此之外,编译期处理,否则不能通过编译。(受检异常)
NullPointException NPE 原因:使用null对象的方法
JVM的默认处理方案
1.把异常的名称,原因及位置信息输出在控制台。
2.程序停止执行
异常的处理方式throws
throws 异常类名; 写在方法定义处,表示声明一个异常
1.在方法中,当传递的参数有误,没有继续运行意义,则抛出处理,表示该方法结束运行
2.告诉调用者出现问题
抛出异常对象throw
throw new 异常(); 在方法内,表示当前代码手动抛出异常,下面的代码不用再执行
异常处理方式try...catch...
try{
可能异常的代码;
} catch(异常类名 变量名){
异常的处理代码;
}
捕获:能让代码继续运行下去
自定义异常
步骤1.定义异常类2.写继承关系3.空参构造4.带参构造
小结
1.为何学习异常?处理代码中的问题
2.异常的处理方式:
抛出:让方法停止并告诉调用者此处有问题。
捕获:让程序继续执行。
3.自定义异常的意义:让程序的提示报错更加见名知意。