Java异常与处理(一)

绪论

整理学习笔记,记录一下。

正文

异常分类,仅供参考。
在这里插入图片描述
异常抛出

  • throw:将产生的异常抛出(动作)
  • throws:声明将要抛出何种类型的异常(声明)
    public void divide(int num1, int num2) throws Exception{
        if (num2 == 0) {
            throw new Exception("除数不能为零!");
        } else {
            System.out.println("结果为:" + num1/num2);
        }
    }

自定义异常: 要继承相近的异常类或者所有异常的父类Exception。
异常链: 可以把捕获的异常包装成一个新的异常,然后在新的异常里面添加对原始异常的引用,再把新异常抛出,它们就像链式反应一样,一个导致另一个。

    public void divide(int num1, int num2) throws Exception {
        if (num2 == 0) {
            throw new Exception("除数不能为零!");
        } else {
            try {
                System.out.println("结果为:" + num1 / num2);
            } catch (NullPointerException e) {
                RuntimeException run = new RuntimeException();
                run.initCause(e);
                throw run;
            }
        }
    }

经验与总结

  1. 处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理。
  2. 在多重catch块后面,可以加一个catch(Exception e) 来处理可能会被遗漏的异常。
  3. 对于不确定的代码,也可以加上try-catch,处理潜在的异常。
  4. 尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出。
  5. 具体如何处理异常,要根据不同的业务需求和异常类型去决定。
  6. 尽量添加finally语句块去释放占用的资源。

(若有什么错误,请留言指正,3Q)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值