异常:程序执行过程中,出现的非正常情况,最终导致JVM非正常停止
在java等面向对象的编程语言中,异常本身就是一个类,产生异常就是创建异常对象并抛出一个异常对象。java处理异常的方式是中断处理。
异常体系:java.lang.Error和java.lang.Exception
捕获异常:
主要由try…catch语句完成
try{
//程序代码块
}catch (Exceptiontype1 e){
//对Exceptiontype1异常的处理
}catch (Exceptiontype2 e){
//对Exceptiontype2异常的处理
}finally{
//程序块
}
完整的异常处理语句都会包含finally语句,不管程序有无异常,不管try catch语句是否顺利执行,都会执行finally语句
以下三种情况finally语句不会被执行:
1.finally语句块由异常
2.前面代码用了System.exit()程序
3.程序所在线程死亡
程序异常分析
throw关键字
在指定方法中抛出指定的异常
格式:throw new xxxException(异常产生的原因)
注意:1.throw关键字必须写在方法的内部
2.throw关键字后面new的对象必须是Exception或Exceptions的子类对象
3.throw关键字抛出的对象必须被处理
Objects类中的静态方法
public static T requireNonNull(T obj)查看指定对象是不是null
声明异常throws
自定义异常:
根据业务的异常情况自定义异常