- 大家都知道try-catch是捕获异常的,我自己也是这么明白,却不知道多个catch是怎么操作。
- 就决定自己试验一下
-
public class Try { public static void main(String[] args) { int[] arr = new int[5]; double b = 0; try{ arr[6] = 8; } catch (ArrayIndexOutOfBoundsException ex){ System.out.println("----"); b = 1/0; }catch (Exception e){ System.out.println("****"); e.printStackTrace(); }finally { arr[4] = 3; System.out.println(arr[4]); } } }
-
public class Try { public static void main(String[] args) { int[] arr = new int[5]; String t = ""; try { try { arr[6] = 8; t = "try"; Integer.parseInt(null); } catch (ArrayIndexOutOfBoundsException ex) { System.out.println("----"); t = "try"; Integer.parseInt(null); } finally { arr[4] = 3; System.out.println(arr[4]); } } catch (Exception e) { System.out.println("****"); } finally { arr[3] = 6; System.out.println(arr[3]); } }
-
由此可以看到,如果想要抛出异常,只有写在try里,并且当第一个异常出发以后,后面的都不再执行,并且倘若catch里还有异常并不会被下一个catch所捕获。
try -catch-catch异常的执行顺序
最新推荐文章于 2024-10-06 22:05:50 发布