不太明白throws有什么用?

不太明白throws有什么用?

实际应用中如果被调用函数不throw异常的话,调用者还是一样可以try...catch进行异常捕捉吧?那这样throws到底有什么作用呢?譬如下面这两个函数,func2加不加throws有区别吗?如果没有区别的话,加它有什么好处?

public void func1() {
    try {
        func2()
    } catch (ArithmeticException e) {
        System.out.println("Exception");
    }
}

public void func2() throws ArithmeticException{
    int i = 12;
    int j = 0;
    System.out.println(i/j);
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小脸 2020-01-17 10:33:01

同学你好,

    1、如果不throws异常,try...catch也是可以进行异常捕获的。

    http://img1.sycdn.imooc.com//climg/5e211cb0097ca3e309590685.jpghttp://img1.sycdn.imooc.com//climg/5e211cb0097ca3e309590685.jpg

    2、throws的作用是把异常交给调用者或着系统来处理,就好比生活中打篮球,球在你的手中,你可以选择自己投篮(try..catch),或者将球传给队友(throws)。

    3、func2加不加throws是有区别的:

            加上throws,异常会交给调用的func2的func1方法来解决

            不加上throws,异常都会由func2本身来进行处理。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

     



夏蔚海 2020-01-17 10:18:04

你真么来看啊,throw在你觉得有异常的地方声明,throws呢就是需要配套使用的一条语句,throw和throws呢这两条语句就是用来规避异常的。

  • 提问者 ljk卷心菜 #1
    有点明白了,感觉就是对自定义的异常会比较有实际作用是吗?
    2020-01-17 11:52:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师