异常处理
(一)异常概述
在Java中在程序运行时可能出现的一些错误称为异常。异常是一个在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流
例:
运行结果:
异常分析:程序运行的结果报告发生了算数异常ArithmetException(根据给出的错误提示可知发生错误是因为在算数表达式中“3/0”中,0作为除数出现),系统不再执行下去,提前结束。
(二)处理程序异常错误
1.异常产生后,如果不做任何处理,程序就会被终止
例:
运行结果:
2.捕捉异常
Java语言的异常捕获结构由try、catch、finally组成。其中,try语句块存放的是可能发生异常的Java语句;catch程序块放在语句块之后,用来激发被捕获的异常;finally语句块是异常处理结构的最后执行部分,无论try语句块中的代码如何退出,都将执行finally语句块。
语法如下:
try{
//程序代码块
}
catch(Exceptiontype1 e){
//对Exceptiontype1的处理
}
catch(Exceptiontype2 e){
//对Exceptiontype2的处理
}
...
finally{
//程序块
}
1)try-catch语句块
例:
运行结果:
2)finally语句块
完整的异常处理一定要包含finally语句,无论程序中有无异常发生,并且无论之间的try-catch是否顺利执行完毕,都会执行finally语句。
除下列几种情况外:在finally语句块发生了异常、在前面的代码使用了System.exit()退出程序、程序所在的线程死亡、关闭CPU
3.自定义异常
public class MyException extends Exception{ //创建自定义异常,继承Exception类
public MyException(String ErrorMessage){ //构造方法
super( ErrorMessage); //父类构造方法
}
}
运行结果:
4.在方法中抛出异常
1)使用throws关键字抛出异常
运行结果:
2)使用throw关键字抛出异常
运行结果: