永发信息网

为什么java代码中try catch执行后捕获了ArithmeticException后,就不执行try中的compare方法了?

答案:6  悬赏:30  手机版
解决时间 2021-02-03 05:16
  • 提问者网友:夢醒日落
  • 2021-02-02 16:19
class MyMain {
public static void compare(int a) throws MyException001 {
System.out.println("called compare(" + a + ")");
if (a > 5)
throw new MyException001(a);
System.out.println("Normal exit;");
}
public static void main(String[] args) {
try {
int a = args.length;
int b = 10/a ;
compare(3);
compare(15);
} catch (MyException001 e) {
System.out.println("Main's catch!"+e);
}
catch (ArithmeticException x){
System.out.println("被0除了。。");
System.out.println(x.getMessage());
x.printStackTrace() ;
}
}
}
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-02-02 17:51
捕捉到异常之后,后面的代码就不会执行下去啦
全部回答
  • 1楼网友:傲气稳了全场
  • 2021-02-02 20:55
因为compare()前就出错了,所以不会再继续往下执行的
  • 2楼网友:英雄的欲望
  • 2021-02-02 20:43
是的,出了异常整个程序的执行过程就会中断。
  • 3楼网友:平生事
  • 2021-02-02 19:14
捕获到了异常就去catch了,异常后面的代码就不管了。 再看看别人怎么说的。
  • 4楼网友:不甚了了
  • 2021-02-02 18:58
因为这是try-catch的机制,类似于 while (没有异常) { 。。。。 } 。。。。
  • 5楼网友:西风乍起
  • 2021-02-02 18:15
try到异常后立即处理异常,try中出现异常代码下面所有代码都不再执行,而是跳转到catch中。 另外: 这个程序需要配置运行命令参数 比如: java MyMain Hello Matrixes
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯