问答详情
源自:1-7 Java 中的异常链

为什么test2()不需要 throws ?

	public void test2()  //throws RuntimeException	为什么这个地方不需要 throws ?
	{		
	    try {			
	            test1();		
	     } catch (DrunkException e) {			
	                 System.out.println("test2 try catch(DrunkException)");						
	                 RuntimeException newExc = 	new RuntimeException(e);
	                 //			newExc.initCause(e);			
	                 throw newExc;		
	 }


提问者:Mr沐阳 2020-03-12 17:55

个回答

  • Hey_LJ
    2020-05-17 10:35:30

    运行时异常可以自由选择是否catch,所以不必声明

  • 卜硕
    2020-04-10 10:55:03

    因为这是个运行时异常,不需要throws

  • 慕瓜7049329
    2020-03-13 09:32:31

    可以理解成 throws是把异常抛出给上一级去处理

    try catch就是直接捕获异常自己处理掉了,所以不用再抛出

  • 学生乔建华
    2020-03-12 20:29:01

    已经使用try{}catch{}块儿了就不用再使用throws抛出异常了