异常相关的问题

xiaoxiao2021-02-28  47

当用try catch捕获异常的时候 当try中代码按照顺序执行,当出现异常的时候,下面的代码不会执行,直接在catch中

抛出对应的异常

public static void main(String args[]){ //((MMTest)null).testMethod(); try { System.out.println("++++++++++++++算术异常"+"++++++++++"); // System.out.println(1/0); System.out.println("++++++++++++++越界异常"+"++++++++++"); System.out.println(new int[] {}[0]); } catch (ArithmeticException e) { // TODO: handle exception System.out.println("算术异常"+e.getMessage()); } catch (ArrayIndexOutOfBoundsException e) { // TODO: handle exception System.out.println("越界异常"+e.getMessage()); }catch(Exception e){ System.out.println(e.getMessage()); }

}

这样只会抛出算数异常,越界异常因为没有执行到,所以不抛出,并且Exception也不会出现,且只能放在最后,放在前面会出现Unreachable catch block for ArithmeticException. It is already handled by the catch block for Exception  错误,放在后面如果前面有对应的异常,则他不会执行,前面没有抛出对应的异常,才会执行

转载请注明原文地址: https://www.6miu.com/read-2626180.html

最新回复(0)