java中使用try-catch语句来处理异常。
当try部分中的某个语句发生异常后,try不分立即结束执行,而转向执行
相应的catch部分,所以可以将发生异常后的处理放在catch部分,
try-catch语句可以由几个catch组成,分别处理相应的异常。
JDK中错误或者异常的超类为:Throwable,该类有两个已知子类:Error 和 Exception。
try{
//可能发生异常的语句
}catch(Exception1 e){
}catch(Exception2 e){
}finally{
//必须执行的语句块,一般用于关闭资源,关闭流
}
注意:
catch参数中的异常类都是Exception的某个子类,并且这些子类之间
不能有父子关系,否则只保留父类参数即可。
throws:抛出异常
使用目的:当我们不想处理异常或者不知道该如何处理异常时,
可以选择抛给其他人处理。
一般异常的使用:
1.根据条件创建异常对象
2.使用throw关键字抛出异常
3.在方法上声明抛出的异常
4.方法的调用者(调用者可能是方法)要处理异常,处理的方式可以再次抛出,也可以tyr-catch处理异常。
Exception:
1.数组下标越界
2.空指针异常
3.类型强制转换异常
4.数学类异常
Error:与代码无关,硬件问题等造成。
1.栈深度溢出 --- 代码没有问题,硬件问题
2.内存溢出 --- (堆溢出,字符串常量池溢出)