规约内容: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