2023/3/1 异常

文章介绍了Java中的异常分类,包括编译时异常和运行时异常,以及异常的处理机制,如JVM自动处理和try-catch块。还讨论了异常处理的规则,如异常的捕获顺序和多异常捕获。此外,提到了如何使用throws和throw关键字来声明和抛出异常,以及自定义异常的基本步骤。
摘要由CSDN通过智能技术生成

2023/3/1 异常

请添加图片描述

一、异常的分类

1、编译时异常

也就是上图中的其他异常,直接继承Exception,在编译的时候就会提示的异常,比如日期解析异常

2、运行时异常

在运行的时候才会提示的异常

二、异常的处理

1、JVM自动处理

在控制台直接输出异常信息,并且不会执行异常发生之后的代码

2、try——catch处理

① 如果try结构中没有出现异常,执行try中的内容和try——catch结构之后的代码
② 如果try结构中出现了异常,跳到catch结构中,执行catch该异常中的代码,再执行try——catch结构之后的代码
③ 如果try结构中出现了异常,跳到catch结构中,但是catch中没能成功捕获对应的异常,那么为JVM默认处理方式
④ 如果捕获的异常有父子关系,那么父类的异常必须在代码的下面,否则会出错
⑤ JDK7之后,可以在一个catch中同时捕获多个异常,进行相同的处理,避免代码重复
public class A01_Test {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        try {
            System.out.println(arr[10]);
            System.out.println(2 / 0);
        }catch (ArrayIndexOutOfBoundsException | ArithmeticException e) {
            System.out.println("出现异常");
        }
    }
}

三、异常中的常见方法

printStackTrace() 把异常的信息输出在控制台

四、抛出异常

1、throws 写在方法定义处,用于声明一个异常,告诉调用者本方法可能出现的异常

其中:编译异常必须声明,运行异常可以省略

2、throw 写在方法体中,用于结束方法,手动抛出异常,并且方法中下面的代码不再运行

五、自定义异常

目的是使报错的信息更加见名知意

1、定义异常类

2、写继承关系

3、写空参构造和有参构造

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值