規約內容:html
2.1 異常處理 1. 【強制】 Java 類庫中定義的一類 RuntimeException 能夠經過預先檢查進行規避,而不該該 經過 catch 來處理,好比: IndexOutOfBoundsException , NullPointerException 等等。 說明:沒法經過預檢查的異常除外,如在解析一個外部傳來的字符串形式數字時,經過 catch NumberFormatException 來實現。 正例: if (obj != null) {...} 反例: try { obj.method() } catch (NullPointerException e) {...}
另外一個角度看『異常』java
在 Exception 中,unchecked 異常是運行時異常,它們都繼承自 RuntimeException, 不須要程序進行顯式的捕捉和處理, unchecked 異常能夠進一步細分爲3 類: 可預測異常(Predicted Exception) 常 見 的 可預 測 異 常 包 括 IndexOutOfBoundsException、NullPointerException 等, 基 於對 代 碼 的 性 能 和 穩定性要求,此類異常不該該被產生或者拋出,而應該提早作好邊界檢查、空指針判斷等處理。顯式的聲明或者捕獲此類異常會對程序的可讀性和運行 效率產生很大影響。 需捕捉異常(Caution Exception) 例如在使用 Dubbo 框架進行 RPC 調用時 產生的遠程服務超時異常 DubboTimeoutException,此類異常是客戶端必須顯式處理的異常,不能因服務端的異常致使客戶端不可用,此時處理方案能夠是重試或者降級處理等。 可透出異常 (Ignored Exception) 主要是指框架或系統產生的且會自行處理的異常,而程序無須關心。例如針對 Spring 框架中拋出的 NoSuchRequestHa ndlingMethodException 異常,Spring 框架會本身完成異常的處理,默認將自身拋出的異常自動映射到合適的狀態碼,好比啓動防禦機制跳轉到 404 頁面。
Java異常梳理正則表達式
常見的RuntimeException的子類 (1)ArithmeticException 算術異常 引起緣由: 分母不能爲0 如何避免:除以前,先判斷分母 (2)ClassCastException 類型轉換異常 (3)IllegalArgumentException 非法參數異常 具有子類:NumberFormatException 數字格式異常 引發緣由:參數格式不合法 如何避免:經過某些技術,保證參數文本的有效格式(正則表達式,使用特殊字符制約格式)[0-9][a-z] (4)IndexOutOfBoundsException 下標越界異常 具有兩個子類: ArrayIndexOutOfBoundsException 數組下標越界異常 StringIndexOutOfBoundsException 字符串下標越界異常 引發緣由:下標超過有效邊界 [0, ds.length-1] 如何避免:操做下標過程當中避免越界 (5)NullPointerException 空指針異常 引發緣由:調用null引用的成員 屬性或 方法 如何避免:調用以前先判斷是否爲空 資料摘取自:http://f.dataguru.cn/java-338689-1-1.html