回覆列表
  • 1 # 使用者5000014501074

    到目前為止,你只是獲取了被Java執行時系統丟擲的異常。然而,程式可以用throw語句丟擲明確的異常。Throw語句的通常形式如下:

    這裡,ThrowableInstance一定是Throwable類型別或Throwable子類型別的一個物件。簡單型別,例如int或char,以及非Throwable類,例如String或Object,不能用作異常。有兩種可以獲得Throwable物件的方法:在catch子句中使用引數或者用new運算子建立。 程式執行在throw語句之後立即停止;後面的任何語句不被執行。最緊緊包圍的try塊用來檢查它是否含有一個與異常型別匹配的catch語句。如果發現了匹配的塊,控制轉向該語句;如果沒有發現,次包圍的try塊來檢查,以此類推。如果沒有發現匹配的catch塊,預設異常處理程式中斷程式的執行並且列印堆疊軌跡。 下面是一個建立並丟擲異常的例子程式,與異常匹配的處理程式再把它丟擲給外層的處理程式。 該程式有兩個機會處理相同的錯誤。首先,main()設立了一個異常關係然後呼叫demoproc( )。 demoproc( )方法然後設立了另一個異常處理關係並且立即丟擲一個新的NullPointerException例項,NullPointerException在下一行被捕獲。異常於是被再次丟擲。下面是輸出結果: 該程式還闡述了怎樣建立Java的標準異常物件,特別注意下面這一行: 這裡,new用來構造一個NullPointerException例項。所有的Java內建的執行時異常有兩個建構函式:一個沒有引數,一個帶有一個字串引數。當用到第二種形式時,引數指定描述異常的字串。如果物件用作 print( )或println( )的引數時,該字串被顯示。這同樣可以透過呼叫getMessage( )來實現,getMessage( )是由Throwable定義的。

  • 中秋節和大豐收的關聯?
  • 為什麼蘋果手機不能連線汽車音訊?