第7章-第1节-Java中的异常处理

本文详细介绍了Java中的异常处理机制,包括异常的概念、Error和Exception的区别、运行时异常与编译时异常、异常处理的throws和catch、finally的使用以及自定义异常和final/finally/finalize的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、异常Exception概述:

1)、异常的概念:

现实生活中万物在发展和变化会出现各种各样不正常的现象。

例如:人的成长过程中会生病。 实际工作中,遇到的情况不可能是非常完美的。

比如:你写的某个模块,用户输入不一定符合 你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据 库的数据,数据可能是空的等。 我们的程序再跑着,内存或硬盘可能满了等等。 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是: Exception , 意思是例外。 这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处 理,安全的退出,而不至于程序崩溃。

2)、实际开发中异常的理解:

实际开发中,异常从面向对象的角度考虑也是一类事物,我们可以向上抽取为异常类。这个异常类可以对一些不正常的现象进行描述,并封装为对象。

2、异常体系:

JDK 中定义了很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是 派生于 Throwable 类的一个实例。 如果内置的异常类不能够满足需要,还可以创建自己的异 常类。 Thorwable 类(表示可抛出)是所有异常和错误的超类,两个直接子类为 Error ( 错误)和 Exception ( 异常)。

先来看看 java 中异常的体系结构图解:

1)、Error类:

 Error是 java 所有错误类的父类,描述了 java 运行时系统内部错误和资源耗尽错误。这 类错误是我们无法控制的,同时也是非常罕见的错误,表明系统 JVM 已经处于不可恢复的崩 溃状态中,它是由 JVM 产生和抛出的,比如 OutOfMemoryError 、 ThreadDeath 等。 所以错误是很难处理的,一般与硬件及运行实际环境有关,一般来说程序员是无法处理这些错 误的,我们在编程中,可以不去处理这类错误 例如内存溢出,需要的内存超出了 java 虚拟机管理的内存范围

//递归模拟内存溢出
public class Test01 {
    public static void main(String[] args) {
        A(0);
    }
}
    
public static void A(int num){
    num += 1;
    A(num);
}

Error与Exception的区别:

Error错误,就好像我们开车去上班,结果半路车坏了,那么这种问题我们是没办法提前预知道的
Exception 就好像,我们开车去上班,我们广播中已经提示了A路线堵车,那么我们就可以换条路线即可。

2)、Exception类:

Exception 类所有异常类的父类,其子类对应了各种各样可能出现的异常事件。 Error 是程序无法处理的错误,但是 Exception 是程序本身可以处理的异常,在程序中应当尽可能去处理这些异常。

3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zwarwolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值