異常的學習筆記

2021-08-25 08:10:43 字數 665 閱讀 6641

異常的思考:

異常:1.error:        --不希望被程式捕獲或者是程式無法處理的錯誤

記憶體溢位,棧溢位等等。

2.執行時異常:    --不做處理的話可以正常編譯。

**邏輯有問題,不嚴謹導致,可以規避。比如空指標異常,陣列下標越界,型別轉換異常,類找不到 等。

3.非執行時異常:    --不做處理的話編譯無法通過。

io異常,sql異常等。

異常的另一種分類:

1.檢查異常        --必須處理,不做處理,編譯期無法通過。

2.非檢查異常    --包括執行期異常和error

異常的使用給出了以下指導原則: 

- 不要將異常處理用於正常的控制流(設計良好的api不應該強迫它的呼叫者為了正常的控制流而使用異常) 

- 對可以恢復的情況使用受檢異常,對程式設計錯誤使用執行時異常 

- 避免不必要的使用受檢異常(可以通過一些狀態檢測手段來避免異常的發生) 

- 優先使用標準的異常 

- 每個方法丟擲的異常都要有文件 

- 保持異常的原子性 

- 不要在catch中忽略掉捕獲到的異常

自定義異常:

1.自定義異常類--需要繼承exception 重寫tostring方法

2.在方法中丟擲。

參考:

異常學習筆記

1.按照程度來分 1.error嚴重錯誤 2.exception一般問題 2.按照處理方式來分1 受檢異常 checked 在程式中必須接受檢查和處理的異常.如果不處理編譯錯誤,也稱為編譯時異常 exception及其子類 runtimeexception及其子類除外 2 非受檢異常 uncheck...

C 異常學習筆記

vc 中的異常捕獲的規則 可以捕獲的異常有以下三種情況 1.必須嚴格遵守匹配資料型別 2.異常處理的資料型別是公有類,拋擲的異常的資料型別是派生類。3.異常處理的資料型別是指向公有基類的指標,拋擲異常的資料型別是指向派生類的執針 對於派生層次結構的異常處理,catch 塊組的順序是重要的。因為 ca...

java學習筆記 異常

1 異常的限制 當覆蓋方法的時候,只能丟擲在基類方法的異常說明裡列出的那些異常。這個限制很有用,因為這意味著,當基類使用的 應用到期派生類物件的時候,一樣能夠工作。public class exceptionrestrictiontest extends inning implements stor...