问答详情
源自:1-5 Java 中的异常抛出以及自定义异常

方法内的异常被throw,方法还需要throws吗?

586c7b040001950d05000096.jpg

586c7b050001325304890059.jpg

这里是两张图,第一张是创建方法m,第二张是创建TestEx类的对象te,用te调用m.

请问,方法m需要用throws抛出了,我感觉写不写没区别。

提问者:专注当下4143035 2017-01-04 12:41

个回答

  • 慕虎1442751
    2019-10-29 10:34:02

    如果只在方法内部throw,而不在方法声明处throws,这种情况下,发生异常即抛出异常,终止程序。

    如果在方法声明处throws,发生异常可以抛出到方法外,交给调用者来处理,调用者可以决定是throw还是try/catch。

  • qq_Takeiteasy_2
    2018-12-23 18:10:42

    我也试了,写不写作用好像是没啥区别,可能是为了程序的可读性????我不懂,我的猜测。。

  • 慕粉1020503446
    2017-01-04 15:44:57

    throws 后可以跟多个异常(复数形式)
    throw  后只能跟一个异常

    一个方法可能引发一个异常而它自己又没有处理,那么应该指明异常,让其他调

    用者来处理这个异常,Throws关键字可用来指明方法中可能引发的所有异常。对于

    大多数的Exception子类,Java编译器要求指明方法引发的异常类型。但如果异常

    的类型为Error和RuntimeException或他们的子类,这条规则就不适用了。因为他

    们不是程序正常执行时所能引发的。

  • 慕粉1020503446
    2017-01-04 15:39:59

    throws是抛出异常的类型

  • 慕勒5926719
    2017-01-04 13:01:12

    方法中的throws只是抛出异常的声明,它并不代表已经抛出异常了