异常的捕获和抛出(程序处理没解决,最好自己解决)
作者:互联网
异常的捕获和抛出(程序处理没解决,最好自己解决)
try{用来放存在异常的代码}
catch(捕获异常的类型 事件参数){程序简单的处理}
catch可以不多个捕获,预防多种异常((捕获异常的类型 事件参数){{程序简单的处理}:
多捕获是由条件的,小类型先捕获(在前面catch),大类型再包类型(再catch)
(可选不一定写)finally{异常捕获后必定执行的语句,重要资源的释放等,因为代码异常捕获,程序后面的代码不会执行相当于break}
与改代码有关的其他类也会收到影响,一旦捕获以后可能失去作用。
try {
//异常存在的语句
} catch (Exception e/*捕获异常的类型,大包小*/) {
//程序简单的处理,没有解决
e.printStackTrace();
}finally {
//异常捕获后必定执行的语句,用来关闭资源等重要语句
}
ERROR错误的捕获:
package com.wzh.Text;
public class Text {
public static void main(String[] args) {
try {
//异常被捕获,不在显示
//exception不能捕获error
a();//错误不能被exception捕获,下面语句不执行
System.out.println(10 / 0);//Throwable捕获了上面的ERROR 后执行
}//可以多个catch但是捕获类型小的在前,层层递进
catch (RuntimeException e) {
System.out.println("除数不能为零");
//小类型捕获后大类型就不捕获
} catch (Exception e) {
//不能捕获ERROR
System.out.println("除数不能为零");
}catch (Throwable e){
//捕获ERROR,完整捕获俩个异常,只输出这句
System.out.println("捕获ERROR");
}
finally/*可选不一定要写*/ {
System.out.println("一定执行的语句");//一定执行
}
}
public static void a() {
b();
}
public static void b() {
a();
}
}
抛出异常:throw自动抛出显示异常,throws将异常抛给上一层
throw:不做处理直接抛出异常信息(方法里用)
throws:抛给上一级,这一级正常运行
可以捕获抛出的异常,配合使用
标签:程序处理,抛出,捕获,System,catch,解决,println,异常,out 来源: https://www.cnblogs.com/wzho/p/14454779.html