典型異常總結

2021-08-22 10:36:02 字數 1619 閱讀 6120

列舉典型的異常

典型的錯誤error:

方法遞迴呼叫,會發生棧記憶體溢位錯誤 stackoverflowerror

當不斷得向堆中建立物件時,會出現outofmemoryerror

exception 異常

異常是可以捕捉住,然後讓程式恢復執行

error和exception有共同的父類 throwable

如何處理異常

2.1 積極處理

try catch( 異常型別 )

catch能捕捉的異常,要麼精確匹配,要麼用父型別匹配

可以用多個catch捕獲不同型別的異常

多個catch塊時,子類的catch塊要寫在前面,父類要寫在後面

1.7 後乙個catch塊中可以有多個平級的異常

2.2. 消極處理

語法: 在方法的宣告部分新增 throws 異常型別

含義: 說明方法在執行時有可能出現的異常

將異常交給方法的呼叫者處理

main 的呼叫者是jvm,當異常傳給jvm時,程式執行就結束了

從異常的行為分類:

未檢查異常(uncheck)

runtimeexception或它的子類

error和它的子類

檢查異常(check)

throwable

exception以及他們的子類

檢查異常需要強制地配合try-catch或throws一起使用

主動丟擲異常

throw new 異常物件(); // 只能是exception或是error的子類物件

異常物件的常見方法

e.getmessage() 獲取異常的資訊

e.printstacktrace() 列印異常的跟蹤資訊

異常的傳播

以方法呼叫的反方向進行傳播

自定義異常

1) 建立異常類

class myexception extends exception

class myexception extends runtimeexception

異常使用的經驗

1) 不要吞掉異常

2) 與有返回值的方法連用時要注意:

public

class

exception5 catch (exception e )

}public

static

void

main(string args)

}

3) 重寫方法與異常宣告(throws)

子類的重寫方法,不能丟擲比父類更多的異常(檢查異常)

子類的重寫方法,可以不丟擲異常

若父類和子類方法throws都是未檢查異常不用遵守上述約定

4) 建議將檢查異常轉換為未檢查異常重新丟擲

finally

語法:

try  catch(exception e)  finally
如果try catch 以及finally都出現了return語句, 以finally中的return為準

如果try 有return, 但finally中對返回的變數做了修改, 不會影響return的結果

資料和操作典型異常場景 2

資料異常類 配置資料 介面資料 db 資料 檔案資料 沒有獲取到配置資料 配置資料取值不合法 配置資料取值超出範圍 配置檔案超大 超過5m 配置檔案丟失 輸入引數不符合介面定義契約 介面字段超出取值範圍 非系統識別訊息 超大訊息包 收到重複請求訊息 請求訊息接受響應異常 查詢結果集超大 查詢結果集為...

實驗總結 初中化學典型實驗總結!

化學典型實驗總結一 空氣中氧氣含量的測定1.操作步驟 在集氣瓶內加入少量水,並將水面上方空間分為5等份。用止水夾加緊膠皮管。點燃燃燒匙內的紅磷後。立即伸入瓶中並把塞子塞緊,觀察紅磷燃燒的現象。待紅磷熄滅並冷卻後,開啟止水夾,觀察實驗現象及水面的變化情況。2.實驗現象 有大量白煙產生,集氣瓶內水面上公...

動態規劃幾個典型題總結

這是典型的三道動態規劃,在筆試當中,有可能會被舉一反三地考。1 求乙個陣列最大連續子陣列之和。示例 int nums 最大連續子陣列是2,1,3,6,所以輸出12。2 求乙個陣列的最長遞增子串行。示例 int nums 最長遞增子串行是1,3,6,所以輸出3。3 求兩個字串的最大公共子串。示例 st...