什么是异常
Java中,将程序执行中发生的不正常情况称为“异常”,但开发过程中的语法错误和逻辑错误并不属于异常。
异常的主要分类
1.编译时异常
对于这类异常,可以不作处理
2.运行时异常
是指编译器不要求强制处置的异常。一般是指编程时的逻辑错误
常见异常
- RuntimeException (运行时异常)
- ArithmeticException (算术异常,如:0做除数)
- ArraylndexOutOfBoundException(数组越界)
- NullPointerException(空指针异常,尝试访问 null 对象成员)
- ClassCastException(类型转换异常,如“向下转型”)
- NumberFormatException (数字转化格式异常,如字符串到 int 型的转换)
异常的处理
-
过程一:“抛”–>程序在正常执行过程中,一旦出现异常,就会在异常代码处生成一个对应的异常类对象并将此对象抛出。一旦抛出对象之后,其后的代码不再执行
-
过程二:“抓”–>可以理解为异常的处理方式: ① try-catch-finally ② throws
try-catch-finally的使用
try{
// 可能出现异常的代码
}catch(异常类型1 变量名1){
// 处理异常的方式1
}catch(异常类型2 变量名2){
// 处理异常的方式2
}
......
finally{
// 一定会执行的代码
}