Java(五)

來源:互聯網
上載者:User

標籤:字元   cep   情況   排列   算術   解決   exception   轉換   調用   

異常


一.行為的意外結果可以分為兩類
可以處理的意外結果稱為異常(Exception)
處理不了的意外結果稱為錯誤(Error)

異常是一中特殊的對象,類型為java.lang.Exception或器子類

二.處理
1.捕獲異常
try-->執行可能產生異常的代碼
catch-->捕獲異常
finally-->無論是否發生異常,代碼總能執行
2.聲明異常
throws-->聲明方法可能要拋出的各種異常
3.拋出異常
throw-->手動拋出異常

三.try-catch
情況一:
try(無異常) catch try-catch後代碼
| |
---------------------------

情況二:
try(有異常) catch ---->try-catch後代碼
| |
-->產生異常對象-->異常類型匹配-->

情況三:
try(有異常) catch ---->try-catch後代碼
|
--產生異常對象-->異常類型不符-->代碼中斷

四.在catch塊中處理異常
1.加入自訂處理資訊
System.err.ptintln(“自訂內容”)
2.調用方法輸出異常資訊
e.printStackTrace();
3.異常對象常用方法
String getMessage();
*返回異常資訊描述字串是printStackTrace()輸出資訊一部分

五.Java異常機制
1.代碼運行到可能出現異常時,由程式或Java拋出異常對象,異常對象會記錄相關資訊
2.異常對象拋出後,會去尋找異常處理的相關代碼(catch),如果找到異常結束
3.如果未找到,異常對象會繼續上拋,尋找異常處理代碼
4.如果到main還未找異常拋給到異常處理代碼,就會有main將異常拋給虛擬機器
5.異常拋出的每一層代碼都會中斷

六.常見異常類型

異常類型 說明
Exception 異常階層的父類
ArithmeticException 算術錯誤情形,如以0做除數
ArrayIndexOutBoundsException 數組下標越界
NullPointerException 嘗試訪問null對象成員
ClassNotFoundException 不能載入所需類
IllegalArgumentException 方法接收到非法參數
ClassCastException 對象強制類型轉換出錯
NumberFormatException 數字格式化轉換異常,如把“ABC”轉為數字

七.finally
1.是否發生異常都會執行finally塊中的代碼
2.唯一不執行的情況:System.exit(1);

八.存在return的try-catch-finally塊
try--->產生異常對象--->異常類型匹配--->進入catch--->

執行finally--->執行return退出方法

九.try、catch、finally使用規則
try{
//必須出現,且只能出現一次
}catch{
//可以出現0~n次,如果沒有catch就必須有finally
}finally{
//可以出現0~1次
}

十.多重catch塊
1.排列catch語句順序:先子類後父類
2.發生異常時按順序逐個匹配
3.只執行第一個與異常類型匹配的catch語句

十一.Java異常分類
1.運行時異常:在代碼編譯的時候不會進行檢測,在代碼運行時的過程中產生異常,

RuntimeException及其子類都屬於運行時異常,
還有ArithmeticException、NullPointeException、NumberFormatException
2.檢查異常/檢測異常:在代碼編譯的時候顯示必須處理,才能通過編譯器的編譯,

如:SQLException、ClassNoFoundException

十二.throw、throws
1.throws聲明某個方法可能拋出的各種異常
2.throws可以讓檢查異常通過編譯器的編譯,但沒有真正解決異常
3.throw手動拋出異常,並可以定義異常的資訊
4.throws可以聲明多個異常,多個異常之間用逗號隔開

十三.自訂異常
1.寫一個異常類,繼承Exception
2.手動實現Exception的構造方法

Java(五)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.