1. 程式人生 > >小白學JAVA《十四》--- 異常處理

小白學JAVA《十四》--- 異常處理

一、異常分類 (1)檢查異常,也被稱之為“編譯時異常”,由編譯器檢查出來的異常 (2)執行時異常,編譯器無法檢查出來,只有程式在執行時丟擲的異常,才是執行時異常 (3)錯誤,實際上已經脫離了“異常”的範疇,因為程式設計師無法通過修改程式碼來解決問題,比如記憶體不足、硬碟空間不夠、網線問題等 二、概念 (1)是程式在執行過程中所產生的問題 (2)沒有沒有異常的軟體 三、處理方法 (1)方法本身抓獲這個異常,不讓他沿著呼叫棧繼續向下丟擲 try{ }catch( 異常 ){ } (2)方法本身抓獲這個異常,並繼續向下丟擲 (3)不抓獲異常,從呼叫棧中被彈出,繼續拋給呼叫棧下面的方法 注:2.3都會使丟擲“異常”的方法,彈出方法呼叫棧 四、讀取一個檔案的內容 1.throws,FileNotFoundException 2.throws 關鍵字,用來給方法的呼叫者,提前宣告:我這個方法可能會丟擲異常。通常用於編譯時異常,而執行時異常,不需要! 3.如果在程式碼中間需要丟擲某個異常,請使用throw關鍵字 五、當一個方法中可能丟擲不計數的異常個數 (1)定義多個CATCH塊,分別進行程式碼的監控。在定義多個catch的時候,需要定義從小到大的順序 (2)在catch塊的引數型別定義時,直接定義上層父類,採用動態多型的方式來解決問題(直接一個用Exception) 六、編譯時異常的解決方案 要麼直接異常處理,要麼就給方法的呼叫者進行“異常宣告” 七、執行時異常解決方案 不需要異常處理,也不需要“異常宣告”,讓他報錯,報錯以後,我們程式設計師在通過“條件控制語句”對其進行控制即可 八、事務 (1)參與到同一個事務範圍內的業務方法,為了保證事務的完整。都不能自己抓捕異常,必須宣告異常,讓事物的管控方法去抓捕異常(例如轉錢) (2)什麼時候用”異常的宣告“ 2.1當方法的呼叫者,需要知道”呼叫方法“的具體執行情況,而並非是”成沒成功,失敗沒失敗“時,我們就有必要進行異常宣告 2.2在方法異常宣告的時候,如果遇到子異常和父異常,都可能丟擲的情況下,因為子異常向父異常轉型