finally是個可選的,可以不寫
使用try將可能出現異常的**包裝起來,在執行過程中,一旦出現異常,就會生成乙個對應異常類的物件,根據此物件的型別,在catch中進行匹配
一旦try中的異常物件匹配到某乙個catch時,就進入catch中進行異常的處理
處理結束後,就跳出當前的try....catch結構(在沒有寫finally的情況下)
跳出try....catch結構,繼續執行其後的**
catch中的異常型別,如果沒有子父類關係,則宣告順序無所謂;若宣告型別滿足子父類關係,要求子類一定宣告在父類的上面,否則報錯
在try結構中宣告的變數,在出了try結構以後,就不能再被呼叫
try....catch....finally結構可以相互巢狀
public class test ;
try}catch (exception e)}}
結果
結果
throws + 異常型別
寫在方法的宣告處,指明此方法執行時,可能會丟擲的異常型別
當方法體執行時,出現異常,仍然會在異常**處生成乙個異常類的物件
此物件滿足throws後異常型別時,就會被丟擲
異常**後續的**不在執行
try.....catch.....finally:真正的將異常處理掉
throws:只是將異常拋給方法的呼叫者,並沒有真正的將異常處理掉
**實現
public class studenttest catch (exception e)
system.out.println(s);
}}class studentelse
}@override
public string tostring() ';}}
執行結果
提供全域性常量serialversionuid
過載的構造器
**實現
class myexception extends runtimeexception
public myexception(string message)
}public class studenttest catch (exception e)
system.out.println(s);
}}class studentelse
}@override
public string tostring() ';}}
執行結果 異常 try catch的方式處理異常2
package cn.itcast 01 a 乙個異常,前面已經講過了 b 二個異常的處理 a 每乙個寫乙個try.catch b 寫乙個try,多個catch trycatch 異常類名 變數名 catch 異常類名 變數名 注意事項 1 能明確的盡量明確,不要用大的來處理。2 平級關係的異常誰前...
linux C 異常處理的方式
目前遇到這樣的問題,大概在2000多台伺服器裡面有100多多台乙個c程序掛掉了,由於公司各種的流程除錯起來非常困難。這幾天google了下找到了一些資料,捕獲異常堆疊的,如 我有兩個疑慮 這篇文章裡面用的不知道linux各個版本核心是否是標準支援嗎?裡面還用到乙個命令addr2line,是否標準支援...
Spring 異常處理的幾種方式
目錄 1.exceptionresolver 1 defaulthandlerexceptionresolver 2 annotationmethodhandlerexceptionresolver 4 responsestatu ceptionresolver 2.spring boot增加的兩種...