public class ClassKeCheng2 {
public static void main(String[] args) throws FileNotFoundException {//调用处处理异常
System.out.println("insering---------");
m1();
System.out.println("m 2");
}
public static void m1() throws FileNotFoundException {
System.out.println("m1 1");
m2();
System.out.println("m1 2");
}
public static void m2() throws FileNotFoundException {
System.out.println("m2 1");
throw new FileNotFoundException("333333333");//抛出异常
// System.out.println("m2 2");//不能存在
}
}
结果:
insering---------
m1 1
m2 1
Exception in thread "main" java.io.FileNotFoundException: 333333333
at demo.ClassKeCheng2.m2(ClassKeCheng2.java:39)
at demo.ClassKeCheng2.m1(ClassKeCheng2.java:34)
at demo.ClassKeCheng2.main(ClassKeCheng2.java:27)
public class ClassKeCheng2 {
public static void main(String[] args){//根源直接处理异常,调用过程中不用再处理,且执行异常之后的语句
System.out.println("insering---------");
m1();
System.out.println("m 2");
}
public static void m1(){//不处理异常
System.out.println("m1 1");
m2();
System.out.println("m1 2");
}
public static void m2(){
System.out.println("m2 1");
try {//直接处理异常
throw new FileNotFoundException("333333333");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("m2 2");
}
结果:
insering---------
m1 1
m2 1
java.io.FileNotFoundException: 333333333
m2 2
m1 2
m 2
at demo.ClassKeCheng2.m2(ClassKeCheng2.java:40)
at demo.ClassKeCheng2.m1(ClassKeCheng2.java:34)
at demo.ClassKeCheng2.main(ClassKeCheng2.java:27)
public class ClassKeCheng2 {
public static void main(String[] args){//调用过程中直接处理,
System.out.println("insering---------");
m1();
System.out.println("m 2");
}
public static void m1(){
System.out.println("m1 1");
try {
m2();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("m1 2");
}
public static void m2() throws FileNotFoundException{
System.out.println("m2 1");
throw new FileNotFoundException("333333333");
// System.out.println("m2 2");
}
结果:
insering---------
m1 1
m2 1
java.io.FileNotFoundException: 333333333
m1 2
m 2
at demo.ClassKeCheng2.m2(ClassKeCheng2.java:44)
at demo.ClassKeCheng2.m1(ClassKeCheng2.java:35)
at demo.ClassKeCheng2.main(ClassKeCheng2.java:27)
在此异常的传递过程中,不仅仅指的是异常的传递触发,异常的处理处理也是一种传递。因此,要记得只要进行try处理,后续
语句就会被执行,而且调用此处方法的所有方法都不用再处理异常;反之,若用throws处理异常,则后续语句不再执行,调用过程需一直处理异常