异常机制
通俗解释,我们玩手机或者电脑的时候经常出现“文件找不到”,“网络连接失败”等字样,在代码中,就是异常。
JAVA异常分为三种
-
检查性异常:
受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明 -
运行时异常(Exception):程序员可以处理的异常,
- 空指针异常 NullPointerException
- 数组越界异常 IndexOutOfBoundsException
- 类转换异常 ClassCaseException
- 向数组中存放与声明类型不兼容对象异常 ArrayStoreException
- Io操作异常 BufferOverFlowException
-
错误(Error):和JVM相关的异常,出现此异常,会强制终止线程,比如栈溢出(stackoverflow)
异常处理机制
异常处理五个关键字:
- try(监控):
- catch(捕获):
- finally(总执行):
public class Demo{
public static void main(String[] args){
int a = 1 ;
int b = 0 ;
try{//监控区域
System.out.println(a/b) ;
}catch(ArithmeticException e){//捕获区域(参数就是想要捕获的异常类型),如果try中有catch中的异常,就执行catch
System.out.println("程序出现异常,变量b不能为0") ;
}finall{//一般处理善后工作
}
}
}
- throw:在方法内部语句抛异常
- throws:写在方法上方法抛异常,由该方法的调用者来进行异常的处理。