1 package cn.itcast_02; 2 3 /* 4 * A:一个异常 5 * B:二个异常的处理 6 * a:每一个写一个try...catch 7 * b:写一个try,多个catch 8 * try{ 9 * ... 10 * }catch(异常类名 变量名) { 11 * ... 12 * } 13 * catch(异常类名 变量名) { 14 * ... 15 * } 16 * ... 17 * 18 * 注意事项: 19 * 1:能明确的尽量明确,不要用大的来处理。 20 * 2:平级关系的异常谁前谁后无所谓,如果出现了子父关系,父必须在后面。 21 * 22 * 注意: 23 * 一旦try里面出了问题,就会在这里把问题给抛出去,然后和catch里面的问题进行匹配, 24 * 一旦有匹配的,就执行catch里面的处理,然后结束了try...catch,继续执行后面的语句。 25 */ 26 public class ExceptionDemo2 { 27 public static void main(String[] args) { 28 29 // method1(); 30 31 // method2(); 32 33 // method3(); 34 35 method4(); 36 } 37 38 public static void method4() { 39 int a = 10; 40 int b = 0; 41 int[] arr = { 1, 2, 3 }; 42 43 // 爷爷在最后 44 try { 45 System.out.println(a / b); 46 System.out.println(arr[3]); 47 System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?"); 48 } catch (ArithmeticException e) { 49 System.out.println("除数不能为0"); 50 } catch (ArrayIndexOutOfBoundsException e) { 51 System.out.println("你访问了不该的访问的索引"); 52 } catch (Exception e) {//它可以匹配所有的异常 53 System.out.println("出问题了"); 54 } 55 56 System.out.println("over"); 57 58 /* 59 try { 60 System.out.println(a / b); 61 System.out.println(arr[3]); 62 System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?"); 63 } catch (Exception e) {//爷爷在前面是不可以的 64 System.out.println("出问题了"); 65 } catch (ArithmeticException e) { 66 System.out.println("除数不能为0"); 67 } catch (ArrayIndexOutOfBoundsException e) { 68 System.out.println("你访问了不该的访问的索引"); 69 } 70 71 System.out.println("over");*/ 72 } 73 74 // 两个异常的处理,写一个try,多个catch 75 public static void method3() { 76 int a = 10; 77 int b = 0; 78 int[] arr = { 1, 2, 3 }; 79 80 try { 81 System.out.println(arr[3]); 82 System.out.println(a / b); 83 // System.out.println(arr[3]); 84 } catch (ArithmeticException e) { 85 System.out.println("除数不能为0"); 86 } catch (ArrayIndexOutOfBoundsException e) { 87 System.out.println("你访问了不该的访问的索引"); 88 } 89 90 System.out.println("over"); 91 } 92 93 // 两个异常的处理,每一个写一个try...catch 94 public static void method2() { 95 int a = 10; 96 int b = 0; 97 try { 98 System.out.println(a / b); 99 } catch (ArithmeticException e) { 100 System.out.println("除数不能为0"); 101 } 102 103 int[] arr = { 1, 2, 3 }; 104 try { 105 System.out.println(arr[3]); 106 } catch (ArrayIndexOutOfBoundsException e) { 107 System.out.println("你访问了不该的访问的索引"); 108 } 109 110 System.out.println("over"); 111 } 112 113 // 一个异常的处理 114 public static void method1() { 115 // 第一阶段 116 int a = 10; 117 // int b = 2; 118 int b = 0; 119 120 try { 121 System.out.println(a / b); 122 } catch (ArithmeticException ae) { 123 System.out.println("除数不能为0"); 124 } 125 126 // 第二阶段 127 System.out.println("over"); 128 } 129 }
时间: 2024-11-05 14:39:26