概述
一、先用简单的代码来了解:
//在Test.java中
public class Test{
public static void main(String[] args){
//设计个错误的除法,来该捕获异常
//1. 不知道具体异常
try{
//可能出异常的语句
double result = 2/0;
}catch(Exception e){
//把捕获的Exception异常作为e,并输出
System.out.println("我不知道具体是什么异常,捕获的第一个异常为:"+e);
}
//2. 知道具体异常,属于ArithmeticException异常
try{
//可能出异常的语句
double result = 10/0;
}catch(ArithmeticException e1){
//把捕获的ArithmeticException异常作为e1,并输出
System.out.println("我知道是ArithmeticException类异常,捕获到该异常为:"+e1);
}finally{
System.out.println("第二个异常语句执行完毕");
}
System.out.println("总程序运行完毕");
}
}
运行结果:
上代码总结:
- 异常语句结构为:
try...catch(必要结构,finally为可选)
try的代码体中放的是可能出现异常的语句
catch小括号中参数为要捕获的异常类,catch的代码体中是捕获到异常时执行的逻辑语句
finally的代码体中放的是最终还要执行的语句
- 若不明具体异常,可以用异常的顶级父类Exception作为要捕获的异常,会捕获存在的第一个异常并返回,再将其所捕获的输出就能看到具体是什么异常了
- 若明知是属于哪类异常,直接用catch去捕获该类异常即可(不会捕获到其他的异常)
- 通过上代码我们也可看出异常捕获语句的好处:不影响总程序的运行!!!
二、多异常捕获:
//在Test.java中
public class Test{
//main方法
public static void main(String[] args){
//可能出异常的语句
try {
int a = 10/0;
int[] arr = new int[-10];
}catch(ArithmeticException e1) {
System.out.println(e1);
System.out.println("异常捕获1");
}catch(NegativeArraySizeException e2) {
System.out.println(e2);
System.out.println("异常捕获2");
}
}
}
运行结果:
上代码总结:
- 通过添加catch分支去捕获不同异常类
- 当某个catch捕获到第一个异常后,其后catch将不再执行
三、方法抛出异常修饰:
//在Test.java中
public class Test{
//使用throws关键字抛出异常
public void func() throws Exception{
//可能出异常的语句
int[] arr = new int[-10];
}
//main方法
public static void main(String[] args){
Test t = new Test();
try {
t.func(); //可能出现异常的语句
}catch(Exception e) {
System.out.println(e);
}
}
}
运行结果:
上代码总结:
- 方法抛出异常,使用关键字throws(表示可能出异常的方法),throws后接异常类
- 方法用throws修饰后,该方法的执行必须要用到异常处理语句(try...catch)
最后
以上就是拼搏小蜜蜂为你收集整理的java异常处理语句的全部内容,希望文章能够帮你解决java异常处理语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复