java 异常处理 try catch和throw 两种方式的比较

(1)catch后,下面的代码会继续执行;但是如果throws了 下面的代码就不会执行。

(2)在主函数调用子函数时,子函数报错如果用catch处理,主函数不会报错;子函数用throw 抛出错误,主函数才会报错。

public class Test {

    public static void main(String[] args) throws Exception {
        subFun();
        System.out.println("after");

    }

    static void subFun(){
        try {
            Integer i = 4;
            ArrayList list = new ArrayList();
            list.add(i);
            System.out.println((String) list.get(0));
        }catch(Exception e){
            //throw e;  //如果不抛出错误 主函数不会报错并且继续向下执行;如果抛出,主函数报错并停止执行
        }
    }

}

        总之,catch的意义就是捕捉错误并使后面的代码继续执行 (你如果catch之后不作任何处理 比如e.printStackTrace() 那么看起来就完全像是无事发生。。)

        而throw抛出错误后,后面的代码不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值