1 /* 2 JDK7出现了一个新的异常处理方案: 3 try{ 4 5 }catch(异常名1 | 异常名2 | ... 变量 ) { 6 ... 7 } 8 如果编译期异常,又不知道异常名,就跟进看源码,那里面就能找到 9 注意:这个方法虽然简洁,但是也不够好。 10 A:处理方式是一致的。(实际开发中,好多时候可能就是针对同类型的问题,给出同一个处理) 11 B:多个异常间必须是平级关系。 12 */ 13 public class ExceptionDemo3 { 14 public static void main(String[] args) { 15 method(); 16 } 17 18 public static void method() { 19 int a = 10; 20 int b = 0; 21 int[] arr = { 1, 2, 3 }; 22 23 // try { 24 // System.out.println(a / b); 25 // System.out.println(arr[3]); 26 // System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?"); 27 // } catch (ArithmeticException e) { 28 // System.out.println("除数不能为0"); 29 // } catch (ArrayIndexOutOfBoundsException e) { 30 // System.out.println("你访问了不该的访问的索引"); 31 // } catch (Exception e) { 32 // System.out.println("出问题了"); 33 // } 34 35 // JDK7的处理方案 36 try { 37 System.out.println(a / b); 38 System.out.println(arr[3]); 39 } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) { 40 System.out.println("出问题了"); 41 } 42 43 System.out.println("over"); 44 } 45 46 }