package java_learning;
/*
* 每个子句捕获一种类型的异常。
* 当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句(不是第一个catch,看try代码段,异常发生的位置)执行。
* 当一个catch语句执行以后,其他的子句被旁路,执行从try/catch块以后的代码开始继续。
*/
public class try_catch {
public static void main(String[]args){
//int d,a;
try{
//int a = args.length;
int a = 1;
System.out.println("a = " + a);
int b = 42 / a;
int c[] = { 1 };
c[42] = 99;
System.out.println("This will not be printed.");
}
catch(Exception e) {// 运用父类Exception的catch语句将捕获该类型及其所有子类类型的异常。
System.out.println("Exception."+e);
}
/*用多catch语句时,记住异常子类必须在它们任何父类之前使用是很重要的。
* 这是因为运用父类的catch语句将捕获该类型及其所有子类类型的异常。
* 这样,如果子类在父类后面,子类将永远不会到达
* 。而且,Java中不能到达的代码是一个错误。
catch(ArrayIndexOutOfBoundsException d) {
System.out.println("Array index oob: " + d);
}
catch(ArithmeticException f){
System.out.println("Division by zero 分母是0");
System.out.println("Exception: " + f);
}*/
System.out.println("After try/catch blocks.");
}
}
try_catch
最新推荐文章于 2024-04-01 17:43:52 发布