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

来源:1-5 Java 中的异常抛出以及自定义异常

专注当下4143035

2017-01-04 12:41

586c7b040001950d05000096.jpg

586c7b050001325304890059.jpg

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

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

写回答 关注

5回答

  • 慕虎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或他们的子类,这条规则就不适用了。因为他

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

    qq_Tak...

    没看懂你说的啥意思。前面两句都是懂得,到一个方法那就不是很明白了啊。我有throw一个异常对象的方法里,它的参数列表后写不写throws 异常列表产生的结果,在try这个语句 实例.方法 的时候都能捕获到

    2018-12-23 18:09:53

    共 1 条回复 >

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

    throws是抛出异常的类型

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

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

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题