異常機制

一、java異常機制html

  • try{

//代碼區}catch(Exception e){//異常處理}java

try語句: try語句用大括號{}指定了一段代碼,該段代碼可能會拋棄一個或多個例外。catch語句:catch語句的參數相似於方法的聲明,包括一個例外類型和一個例外對象。例外類型必須爲Throwable類的子類,它指明瞭catch語句所處理的例外類型,例外對象則由運行時系統在try所指定的代碼塊中生成並被捕獲,大括號中包含對象的處理,其中能夠調用對象的方法。catch語句能夠有多個,分別處理不一樣類的例外。Java運行時系統從上到下分別對每一個catch語句處理的例外類型進行檢測,直到找到類型相匹配的catch語句爲止。這裏,類型匹配指catch所處理的例外類型與生成的例外對象的類型徹底一致或者是它的父類,所以,catch語句的排列順序應該是從特殊到通常。也能夠用一個catch語句處理多個例外類型,這時它的例外類型參數應該是這多個例外類型的父類,程序設計中要根據具體的狀況來選擇catch語句的例外處理類型。jvm

  • try語句包含了由一個或者多個語句組成的try塊, 和至少一個catch子句或者一個finally子句的其中一個,或者兩個兼有, 下面是三種形式的try聲明:
  1. try...catch
  2. try...finally
  3. try...catch...finally


Throwable類是整個異常體系類的父級類,固然最終追根溯源到底的父類固然要歸於Object類。Throwable類實現了Serializable接口,表示Throwable能夠進行序列化,繼承自Object類,他的子類主要是Error和Exception類還有一個StackRecorder類(不是很常見)。函數

 

解釋一post

throws和try catch區別:spa

1.throws是代表方法拋出異常,須要調用者來處理,若是不想處理就一直向外拋,最後會有jvm來處理;設計

2.try catch 是本身來捕獲別人拋出的異常,而後在catch裏面去處理;code

通常狀況下,第二種狀況要好一些,這樣能夠清楚地看到異常的緣由,並加以修正。htm

 

解釋二對象

對於異常有兩種處理方法

1、要麼聲明異常,也就是在方法名後面加上throws exceptionname,..., 方法自己只是拋出異常,由函數調用者來捕獲異常。 若產生異常,異常會沿着調用棧下移,一直找到與之匹配的處理方法,若到達調用棧底仍未找到,程序終止。

2、要麼捕獲異常。經過try catch方法,catch子句中放置處理異常的語句。

 

聯繫二:對於會以爲會有異常拋出的程序塊,用try{}包住,而後用catch來抓住這個異常,在catch中對異常作處理, 在try中若是有異常的話,程序會轉到catch而不會中斷,一般這兩個是配合使用的,若是你不想由於程序有錯,而拋出一大堆異常的話,你就把該程序try起來,trycatch只能獲取程序運行時引起的異常,而throw語句能夠引起明確的異常,程序到了throw語句這後就當即中止,不會執行後面的程序,

相關文章
相關標籤/搜索