(一)異常:有異於常態,和正常情況不一樣,有錯誤出現。阻止當前方法或作用域。
throwable:
1、error:(1)虛擬機器錯誤(virtualmachineerror)
(2)執行緒死鎖(threaddeath)
2、exception:(1)非檢查異常:1)空指標異常(nullpointerexception)
2)陣列下標越界異常(arrayindexoutofbound***ception)
3)型別轉換異常(classcastexception)
4)算術異常(arithmeticexception)
(2)檢查異常:檔案異常(ioexception)、sql異常(sqlexception)
(二)try…catch...finally實現異常處理
try:丟擲異常,丟擲異常的方法會終止執行,程式的控制權將被移交給catch塊中的異常處理程式。
trycatch(exception e)
try:會丟擲很多態別的異常
trycatch(exception e)catch(exception2 e)…(n個catch塊)…
catch語句的循序:先小後大(先子類後父類)
trycatch(exception e)catch(exception2 e)…(n個catch塊)…finally
(三)異常丟擲以及自定義異常
throw:將產生的異常丟擲(動作),寫在方法體裡面,表明丟擲的具體異常這個動作
throws:宣告將要丟擲何種型別的異常(宣告)
public void 方法名 (引數列表)throws 異常列表
自定義異常:class 自定義異常類 extends 異常型別
(四)小結一下下~~
1、處理執行時異常時,採用邏輯去合理規避同時輔助try-catch處理;
2、在多重catch塊後面,可以加上乙個catch(exception)來處理可能會被遺漏的異常;
3、對於不確定的**,也可以加上try-catch,處理潛在的異常;
4、盡量去處理異常,切記只是簡單的呼叫printstacktrace()去列印輸出;
5、具體如何處理異常,要根據不同的業務需求和異常型別去決定;
6、盡量新增finally語句塊去釋放占用的資源。
swift入門第三季(列舉,類,物件導向, 協議)
列舉形式 enum 列舉名關聯值 enum plantclass user set newvalue 構造器 init first string,last string let s user first 極客 last hello print s.fullname s.fullname 測試 測試2...
20171019Java入門筆記 三 異常
一 finally 在丟擲異常結構裡,finally主要放關閉流和釋放資源的 不放業務 尤其是return乙個結果。二 丟擲注意事項 1 當方法上使用throws的時候,是提醒呼叫者該方法會丟擲哪些異常。2 runtimeexception異常及其任何子類都無需在throws中宣告。3 在覆寫方法的...
《java入門第一季》之泛型引入
泛型的引入 首先看一段 體會自動報錯。看下面這個 自動報錯 string strarray new string 3 strarray 0 hello strarray 1 world strarray 2 10 因為指定了string型別,是不可以儲存int型別資料的。會自動報錯。集合也模仿著陣列...