java基础之异常

这篇博客主要介绍了Java中的异常处理机制,包括异常的概念、异常的层次结构、运行时异常与非运行时异常的区别,以及如何进行异常抛出和捕捉。通过实例讲解了try、catch、finally的使用,并探讨了自定义异常的创建和使用。
摘要由CSDN通过智能技术生成

异常

什么是异常?

异常是程序运行出现错误时,阻止了程序的正常运行。

Java异常的层次结构

 

里面都包含了一些我们常见的错误,像IndexOutOfBoundException(下标越界)、NullPointerException(空指针异常)

它们都间接继承自Throwable类。其中Throwable就有我们的Exception(异常)和Error(错误)两个重要子类

Exception

Exception异常可以分为两类:

  • 运行时异常:程序运行时出现的异常称之为运行时异常,同时也称为不可查异常,包括运行时异常和ERROR,我们可以选择不抛出也可以不捕捉,这些异常都是由程序的逻辑错误引起的。

  • 非运行时异常:编译器要求处理的异常,程序运行时可能会出现的异常,那么前面编译器都会提醒你,对这些异常进行处理,是抛出还是捕捉。

Error

Error是程序无法处理的错误,像JVM中的OOM(OutOfMemoryError)错误,一般引起这个错误的是虚拟机内存溢出或者内存泄露!当出现Error时,虚拟机直接退出工作,程序结束运行!

演示异常

例如我们这里创建一个数组,数组大小为10

int[] arr = new int[10];

因为数组下标都是从0开始的,那么可以访问的元素下标应该就是0-9,我们尝试访问下标为10的元素

public void test() {
    // 创建数组,默认的初始值为0
    int arr[] = new int[10];
    System.out.println(arr[10]);
}

输出结果:

毫无疑问出现异常,其异常为ArrayIndexOutOfBoundsException(数组下标越界异常)

那么当我们出现异常后,后面代码还需要被执行,那会怎么样呢?

public void test() {
    // 创建数组,默认的初始值为0
    int arr[] = new int[10];
    int a = 1,b = 2;
    System.out.println(arr[10]);
    System.out.println(a + b);
}

 

很明显&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值