标签:下标 并且 xtend erb 数据 使用 构造方法 忽略 als
异常类型 | 使用场合 |
---|---|
IllegalArgumentException | 非null的参数值不正确 |
IllegalStateExcepition | 对于方法调用而言,对象状态不适合 |
NullPointerException | 在禁止使用null的情况下使用null |
IndexOutOfBoundsException | 下标参数值越界 |
ConcurrentModificationException | 在禁止并发修改的情况下,检测到并发修改 |
UnSupportedOperationException | 对象不支持用户请求的方法 |
// 异常转译 try { // 调用低层代码 } catch (LowerLevelException e) { throw new HigherLevelException(); }
// 异常链 try { // 调用低层代码 } catch (LowerLevelException e) { throw new HigherLevelException(e); }
1 /** 2 * 高层异常,有接受异常的构造器 3 * Created by itlivemore on 2017/6/25. 4 */ 5 class HigherLevelException extends Exception { 6 public HigherLevelException() { 7 } 8 9 // 接受异常的构造器 10 public HigherLevelException(Throwable cause) { 11 super(cause); 12 } 13 } 14 15 /** 16 * 高层异常,没有接受异常的构造器 17 */ 18 class HigherLevelException2 extends Exception { 19 } 20 21 /*低层异常*/ 22 class LowerLevelException extends Exception { 23 public LowerLevelException(String message) { 24 super(message); 25 } 26 } 27 28 class Lower { 29 static void f(int param) throws LowerLevelException { 30 throw new LowerLevelException("参数" + param + "调用f()异常"); 31 } 32 } 33 34 /** 35 * 异常链 36 * Created by itlivemore 2017/6/25. 37 */ 38 public class ExceptionChain { 39 public static void main(String[] args) { 40 try { 41 call1(); 42 } catch (HigherLevelException e) { 43 e.printStackTrace(); 44 } 45 try { 46 call2(); 47 } catch (HigherLevelException2 e) { 48 e.printStackTrace(); 49 } 50 } 51 52 private static void call1() throws HigherLevelException { 53 // 有运行异常链的构造器,则将异常放到构造方法中 54 try { 55 Lower.f(1); 56 } catch (LowerLevelException e) { 57 throw new HigherLevelException(e); 58 } 59 } 60 61 private static void call2() throws HigherLevelException2 { 62 // 没有运行异常链的构造器,使用initCause()设置原因 63 try { 64 Lower.f(2); 65 } catch (LowerLevelException e) { 66 HigherLevelException2 exception = new HigherLevelException2(); 67 exception.initCause(e); 68 throw exception; 69 } 70 } 71 }
// 忽略异常 try { // 调用方法 } catch (Exception e) { }
标签:下标 并且 xtend erb 数据 使用 构造方法 忽略 als
原文地址:http://www.cnblogs.com/lgc13136/p/7077172.html