2020-11-17

异常体系
异常就是java程序中出现错误或者异常。
程序出现异常时就会停止运行,异常后边程序不会再运行,所以处理异常是为了保证程序的正常运行。所有的异常都在Throwable中,而且也只有在Throwable体系中才会被虚拟机识别。
Throwable包含两类也是前面提到的两个,错误:Error,所有的错误后缀都是Error,出现错误意味着是虚拟机出现了错误。另一个就是异常:Exception,同样的所有的异常后缀也都是Exception,异常分为编译异常和运行异常。

出现错误以后在控制台会出现详情,我们要根据出现错误的类型来排查可能出现错误的部分,往往第一行就是程序出现错误的地方。

处理异常有两种方式:
1.捕获 捕获问题并且自己处理。

//语法:
try{//可能出现问题的代码}catch(异常类型 变量){处理方案}finally{最终必然会执行的代码}
//其中的任意一个都不能单独存在,可用的组合形式有
try{}catch(){}
try{}finally{}
try{}catch(){}finally{}
//当可能出现多个异常时,可以使用多个catch进行处理
例如:
 try {
        可能出现异常部分的代码
        }
    }catch(NullPointerException e) {
        //出现问题时的处理方案
        e.printStackTrace();
        System.out.println();
    }catch(ArrayIndexOutOfBoundsException e) {
        System.out.println();
    }catch(Exception e) {
        System.out.println();
    }finally{
    ......
    }

注意finally部分是一定会运行,也就是说即使前面出现异常,finally部分也会继续运行。
2.抛出,不恰当的记忆方式就像在推卸责任,谁用谁处理这个异常,直至抛出到虚拟机。`

1、使用throws声明异常
2、多个异常时使用逗号隔开
public static void throwMethod(int[] arr) throws NullPointerException,ArrayIndexOutOfBoundsException{ int length = arr.length; System.out.println(arr[length]); }

在抛出中需要注意的有两个关键词:throw 和 throws`
throws 是声明异常,可以声明多个异常中间用“,”(逗号)隔开,throw是用来抛出异常对象的,
位置上的记忆区别在于:throw 用在方法中,throws是用在方法上面的。

说了两种处理方案那么两者在使用时候该怎么选择呢?
很简单,在自己责任范围内的就需要去处理异常所以就要用捕获,在调用过程中出现异常的就可以使用抛出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值