列舉典型的異常
典型的錯誤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...