异常分为两大类,一种是Error,jvm系统内部错误,严重错误,程序会崩溃。第二种是Exception,其他因编程错误或者偶然的在外因素导致的异常,Exception分类两种,运行异常和编译异常。
image.png
一、运行异常
常见运行异常:
- NullPointerException 空指针异常
- ArithmeticException 数学运算异常
- ArrayIndexOutOfBoundsException 数组下标越界异常
- ClassCastException 类型转换异常
- NumberFormatException 数字格式不正确异常[]
二、编译异常
编译异常是指还在编译阶段就发生的异常,不处理的话代码不能通过编译
常见的编译异常:
SQLException 操作数据库发生异常
IOException 操作文件发生异常
FileNotFoundException 文件未找到异常
ClassNotFoundException 类未找到异常
IllegalArgumentException 非法参数异常
三、异常处理
try {
//可能出现的异常代码,出现异常不会往下继续执行,跳转到catch
} catch (Exception e) {
//出现异常后再catch处理异常
e.printStackTrace();
} finally {
//不管有没有出现异常finally都会执行,finally可以不写。
}
}
- catch可以有多个,捕捉不同的异常
- 如果没有出现异常,则只需try里的所有语句,有finally的话再执行finally里的语句
- 如果出现异常,try剩下的语句将不会执行,将执行catch里的语句,如果有finally的话最后要执行finally里的语句
- 在catch里处理异常时,可以throw new RuntimeException 手动抛出异常
网友评论