【Java】Java异常类的层次结构

Java的异常处理基于Throwable类,分为Error和Exception。Error是严重问题,如虚拟机错误,不建议捕获;Exception是可处理的异常,分为Runtime(免检)和Checked(必检)两种。免检异常如RuntimeException,因编程错误引起,编译时不强制处理;必检异常在编译时需声明或捕获。通过try-catch-finally结构可管理和处理异常,finally块确保关键代码执行。

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

图片来源:ImportNew



  • Throwable类是所有异常和错误的基类,它直接继承于Object类.
  • Error和Exception是Throwable的子类,它们的区别是:Exception是一种我们应该对其进行捕获或者抛出的异常;Error由Java虚拟机抛出,是相对严重的错误,我们不应该对它进行捕获.如果出现了Error,那么我们只好终止程序.
  • RuntimeException类是Exception类的子类,我们可以叫它运行时异常.它的出现是因为我们程序设计不当造成的.
  • Error的子类以及RuntimeException的子类都是由浅蓝色标记的,它们被称作unchecked exception(免检异常),Exception及它的子类都是由粉红色标记出来的,它们被称作checked exception(必检异常).
  • unchecked exception 和 checked exception相比较而言,unchecked exception比较严重,但是为了避免过多的使用try catch语句块,Java不允许捕获或声明unchecked exception.
  • 对于Exception我们可以对它进行声明,做法就是在方法头加上throws关键字,如果有多个异常的话就要在各个一场之间用逗号进行分隔,这样调用这个方法的方法就必须对这个异常进行处理.如果这个方法仍然不想对这个异常进行处理,做法一样,在方法头用throws声明即可.
  • 抛出异常的做法是声明一个异常对象,用throw关键字进行抛出.
  • 我们可以用try...catch语句结构对异常进行处理,try语句块包含可能出现的异常,catch语句块内包含处理异常的代码.可以有多个catch语句块对应一个try语句.
  • finally语句块内的语句是无论是否出现异常都会执行的.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值