###### tags: `Java` `例外型別` # Java自學紀錄 - 例外型別 當任何執行發生錯誤時,Java會產生一個例外(Exception), ## Error 1. LinkageError 當一個類別與另外一個類別產生連結時,執行時發現兩者有地方不相容。 2. VirtualMachineError 當Virtual Machine產生錯誤。 3. AWTError 當圖形化使用者介面生錯誤時。 ## Exception 1. RunTimeException 相當於C++的runtime error。 可能是陣列超出範圍。 2. IOException 輸入輸出的錯誤。 3. AWTException 圖形處理的錯誤。 ## 例外處理模式 ### 例外的捕捉 **使用方法** 先嘗試一個做法 並運用例外的捕捉顯示錯誤訊息 ```java= try{ statement; } catch(Exception 1 ex){ statemnet 1; } catch(Exception n ex){ statemnet n; } ``` 1. **getMessage()** 回傳錯誤的訊息。 2. **toString()** 回傳錯誤的簡訊。 3. **printStackTrace()** 於主控台輸出錯誤訊息。 ```java= package learning; public class Java_11_Exception { public static void main(String[] args) { try{ int a = 2; int b = 0; int ans = a / b; System.out.println(ans); } catch(ArithmeticException ex){ System.out.println(ex.getMessage()); System.out.println(ex.toString()); ex.printStackTrace(); } } } ``` >輸出結果 ```java= / by zero java.lang.ArithmeticException: / by zero java.lang.ArithmeticException: / by zero at learning.Java_11_Exception.main(Java_11_Exception.java:8) ``` ## finally 無論程式碼例外是否發生,均要執行。finally為保留字。 **使用方法** ```java= try{ statement; } catch(Exception 1 ex){ statemnet 1; } finally{ statment 2; } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up