今日學習分享 處理異常 exception

2021-09-14 00:47:29 字數 811 閱讀 8687

1.異常的介紹:

throwable

子類  error  這是錯誤無法處理

exception 異常

子類 runtimeexception 執行時異常

子類 indexoutofbound***ception 下標越界異常

arithmeticexception

上面是常用的一部分異常,一般我們處理的都是執行時異常和編譯時異常。

出現異常如何處理?

trycatch(可能出的異常)finally
不處理的異常printstacktrace方法會被jvm呼叫,並列印出異常堆資訊

只要程式出異常,jvm會自動建立乙個相應的異常類的物件。

throws 丟擲異常

對於編譯時異常,可以使用throws將異常丟擲去,拋給方法的呼叫者,該異常由方法的呼叫者處理。

異常是由誰引起的,就誰處理!例如

public void a()

public void b(string a)

通常編譯時異常拋到main方法就不再往上拋,因為再拋就拋給虛擬機器了。

方法的重寫時,重寫的方法不能丟擲比父類更大的異常(不能是父類丟擲的異常的父類)

執行時異常是自動丟擲的。

自定義異常

通常自定義異常都是自定義執行時異常,所以只需要繼承runtimeexception

自定義異常主要是通過類的名字來提示異常的型別

乙個非常不好的異常處理方式 偷換Exception

有時根據現場發回出錯日誌,根本不能找到對應的原因。比如當前日誌,乙個功能點失效,日誌裡只有記錄 建立目錄失效 的異常。以此為出發點,檢視許可權和磁碟問題,沒有發現任何問題。後來除錯環境用vs跟蹤,然後發現這樣的奇葩 try catch 這個 居然沒有截獲真正的異常,記錄下來好便於跟蹤,反倒自己丟擲乙...

異常處理學習

1 異常的使用場合 1 應用程式 2 庫 最好不要捕獲異常,除非某個異常表示的是 可以處理的情況 但要假定呼叫 可以處理他們。2 net 執行時可以把整個程式放在另乙個更大的 try塊中,如果發生的異常 沒有處理,程式流就會退出程式,由 net 執行時中的 catch 塊捕獲它。會導致程式執行中斷,...

Python學習 異常處理

assertionerror 斷言語句失敗 assertionerror 斷言語句失敗,一般是在測試程式時置入檢查點 my list love my list.pop assert len my list 0 traceback most recent call last file line 1,i...