异常
异常
java.lang.Object
java.lang.Throwable
Throwable:是java语言中所有错误和异常的父类
Exception:编译时异常,运行时异常
error:相当于程序有无法医治的致命问题,必须修改源代码,程序才能运行
throw关键字
可以在指定的方法中抛出指定的异常
throw new xxxException("异常产生的原因");
- throw关键字必须写在方法的内部
- throw关键字后面new 的对象必须是Exception或者是Exception的子类对象
- throw关键字抛出的异常对象,我们必须处理这些对象
throw关键字如果创建的是运行时异常RunTimeException或者是RunTimeException的子类对象,那么我们可以不做处理默认交给JVM处理。
throw关键字如果创建的编译时异常,那么我们就必须手动处理(throws,try...catch)
throws关键字
异常处理的方式是交给别人处理。
当方法的内部抛出异常对象的时候,那么我们就必须处理这个异常对象,可以使用关键字throws处理异常对象,会把异常对象抛出给方法的调用者处理,最终交给JVM进行处理
- 必须写在方法的声明处
- throws关键字声明的异常必须是Exception或者是Exception的子类对象
- 放的内部如果抛出多个异常 ,那么throws后边也必须声明多个异常,或者直接声明异常父类即可
try...catch关键字
异常处理的方式 ,自己处理
try{
可能产生异常的代码
}catch(定义一个变量,用来接受try中抛出的异常对象){
异常处理逻辑
进行日志记录
ex.getMessage();
ex.toString();
ex.printStackTrace();
}finally{
无论是否发生异常都会使用
}
finally关键字
finally不能单独使用, 必须和try一起使用
finally一般用于释放资源,无论程序想是否出现异常,最后都需要释放资源
finally中避免使用return关键字