編譯時異常與運行時異常
編譯時異常與運行時異常
- 為何要分成兩種異常而不用一個大的包含所有的異常呢?
- Java在編譯時期只會檢查語法錯誤或是做一些性能優化
- int a = 2.2; --> 語法錯誤
- String s = "a" + "b" + "c" 變成 String s = "abc"
- -->性能優化
- 假若是下面的狀況,編譯時期是無法找出異常的
- Java在編譯時期只會檢查語法錯誤或是做一些性能優化
int[] arr = new int[random_num];
//random_num 必須要到運行才會確定
int num = arr[10];
- 那為什麼不把所有的錯誤放到運行時異常呢?
- 編譯錯誤更多是提醒工程師檢查local 資訊
- 運行時異常則是代碼邏輯出錯才會出現的錯誤