java 中的異常 如果沒有被 catch 那麼 異常相當于中斷
例如
1.至始至終沒有try catch
public class AAA {
public void aaa(){
int i = /;
System.out.println("2");// 不會執行
}
}
public class TTTTTTTTTT {
public static void main(String[] args) {
System.out.println("1"); // 會執行
iAaa.aaa();
System.out.println("last"); // 不會執行
}
}
輸出結果
1 異常棧
2.被調用方法内部有一個try catch
public class AAA {
public void aaa(){
try {
int i = /;
System.out.println("2");// 不會執行
} catch (Exception e) {
System.out.println("aaa err"); // 會執行
}
System.out.println("aaa");// 會執行
}
}
public class TTTTTTTTTT {
public static void main(String[] args) {
System.out.println("1"); // 會執行
AAA iAaa = new AAA();
iAaa.aaa();
System.out.println("last"); // 會執行
}
}
輸出結果
1
aaa err
aaa
last
僅外部有一個try catch
public class AAA {
public void aaa(){
int i = /;
System.out.println("2");// 不會執行
}
}
public class TTTTTTTTTT {
public static void main(String[] args) {
System.out.println("1"); // 會執行
AAA iAaa = new AAA();
try {
iAaa.aaa();
} catch (Exception e) {
System.out.println("err"); // 會執行
}
System.out.println("last"); // 會執行
}
}
輸出結果
1
err
last
被調用方法内部有一個try catch 外部也有一個try catch
public class AAA {
public void aaa(){
try {
int i = /;
System.out.println("2");// 不會執行
} catch (Exception e) {
System.out.println("aaa err"); // 會執行
}
System.out.println("aaa");// 會執行
}
}
public class TTTTTTTTTT {
public static void main(String[] args) {
System.out.println("1"); // 會執行
AAA iAaa = new AAA();
try {
iAaa.aaa();
} catch (Exception e) {
System.out.println("err"); // 不會執行
}
System.out.println("last"); // 會執行
}
}
輸出結果
1
aaa err
aaa
last