java 异常抛出 顺序_java异常抛出时间顺序
1、當(dāng)前方法拋出異常時(shí)(交給java虛擬機(jī)執(zhí)行異常處理)
public class ExceptionTest5 {
public void method(String str) throws MyException{
if(str == null){
throw new MyException("傳入的字符串參數(shù)不能為null");
}
else{
System.out.println(str);
}
}
/*
* 根據(jù)多態(tài),也可以?huà)伋?Exception類(lèi)型的異常:
* 1) throws Exception
* 2) 捕獲也可以這樣寫(xiě) catch(Exception e)
*/
public static void main(String[] args) throws MyException{
try{
ExceptionTest5 test = new ExceptionTest5();
test.method(null);
}catch(MyException e){
e.printStackTrace();
}
finally{
System.out.println("異常處理完畢");
}
System.out.println("程序執(zhí)行完畢");
}
}
執(zhí)行結(jié)果為:
異常處理完畢
程序執(zhí)行完畢
com.ahuier.exception.MyException: 傳入的字符串參數(shù)不能為null at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6) at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)
2、當(dāng)前方法不拋出異常
public class ExceptionTest5 {
public void method(String str) throws MyException{
if(str == null){
throw new MyException("傳入的字符串參數(shù)不能為null");
}
else{
System.out.println(str);
}
}
/*
* 根據(jù)多態(tài),也可以?huà)伋?Exception類(lèi)型的異常:
* 1) throws Exception
* 2) 捕獲也可以這樣寫(xiě) catch(Exception e)
*/
public static void main(String[] args) {
try{
ExceptionTest5 test = new ExceptionTest5();
test.method(null);
}catch(MyException e){
e.printStackTrace();
}
finally{
System.out.println("異常處理完畢");
}
System.out.println("程序執(zhí)行完畢");
}
} 執(zhí)行結(jié)果: com.ahuier.exception.MyException: 傳入的字符串參數(shù)不能為null at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6) at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22) 異常處理完畢 程序執(zhí)行完畢
總結(jié)
以上是生活随笔為你收集整理的java 异常抛出 顺序_java异常抛出时间顺序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java sql server 存储过程
- 下一篇: java mock什么意思_java @