oooooook 发表于 2021-10-1 00:18:38

异常抛出简单问题

1.throw new Exception("a");
2.try{}catch (Exception e){System.out.print("b");}
出现异常抛出会打印b那么第一行括号里的异常信息a有什么用

小甲鱼的铁粉 发表于 2021-10-1 08:13:57

.throw new Exception("a");

"a"他就是一个提示信息,你可以在里面输入提示,如果出现异常,他就会打印出来

@Test
    public void testException() {
      try {
            throw new Exception("a");
      } catch (Exception e) {
            e.printStackTrace();
      }
    }
输出:
java.lang.Exception: a
        at com.atguigu.vodtest.TestVod.testException(TestVod.java:43)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        ..................
        at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

oooooook 发表于 2021-10-1 10:35:13

小甲鱼的铁粉 发表于 2021-10-1 08:13
.throw new Exception("a");

"a"他就是一个提示信息,你可以在里面输入提示,如果出现异常,他就会打印 ...

但是我运行时候都是打印b而没有打印a是为啥,是b的优先级高吗

n0noper 发表于 2021-10-1 19:18:35

oooooook 发表于 2021-10-1 10:35
但是我运行时候都是打印b而没有打印a是为啥,是b的优先级高吗

你输出的时候,是不是忘了 e.printStackTrace() 而只是 print("b") 啊~~ 嘿嘿

oooooook 发表于 2021-10-1 21:28:40

n0noper 发表于 2021-10-1 19:18
你输出的时候,是不是忘了 e.printStackTrace() 而只是 print("b") 啊~~ 嘿嘿

不是,这个是学校老师讲的,我虽然懂点但是就是想不明白为什么不打印a
页: [1]
查看完整版本: 异常抛出简单问题