11.异常

异常

概念:程序在运行可能会出现的一些错误被称为异常。

异常产生后,如果不做任何处理,则程序会终止运行,提前结束

  1. 捕获处理异常

    (1) 异常的捕获为了避免程序终止运行

    (2) try{

    ​ //业务逻辑

    ​ }catch(Exception e){

    ​ //异常处理

    ​ }finally{

    ​ //不管是否产生异常都会运行

    }。

    (3) Finally语句块有以下四种情况不会运行

    ​ ① 在finally语句中出现异常

    ​ ② 在前面的代码中使用System.exit().退出了程序

    ​ ③ 程序所在线程死亡

    ​ ④ 关闭了CPU

  2. 抛出异常

    (1) Throws

    ① 出现在方法名后

    ② 往上一级抛出不处理,如果上一级不处理可以继续抛出,但最终都要被处理

    ③ 如果都不处理,则会由JVM虚拟机进行处理

    (2) Throw

    ① 出现在方法体中,抛出一个异常对象

    ② 程序在运行到throw语句时后面的语句将不在执行

    ③ 通常使用try-catch语句 处理throw 抛出的异常

  3. 自定义异常

    (1) 自定义异常的类需要继承Exception

    (2) 和其他异常的用法一致

    (3) 通常使用throw来抛出

  4. 异常分类

    (1) Exception

    (2) RuntimeException

    (3) Error

  5. 异常使用原则

    (1) 不要忽略捕获到的异常

    (2) 不要过度使用不必要的异常处理

    (3) 不要使用过于庞大的try-catch块

    (4) 子类抛出的异常不能比父类的更高级

  6. 常见异常

    异常描述
    NullPointerException空指针异常 (出现条件:使用对象(字段/方法)值为null时)
    ArrayIndexOutOfBoundsException数组下标越界异常 (出现条件:使用超出数组下标范围的下标)
    NumberFormatException数字格式化异常 (出现条件:不符合转换格式的字符串被转换成数字时)
    ParseException解析异常 (出现条件:需要转换成Date的字符串内容,不符合SimpleDateFormat对象指定的格式)
    ClassCastException类型转换异常 (出现条件:将一个类型转换成另一个类型,两个类型没有继承关系)
    ArithmeticException数学运算异常 (出现条件: ex:1/0)
    NegativeArraySizeException创建一个大小为负数的数组错误异常
    IllegalArgumentException传递非法参数异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值