Java 中的异常处理机制

本篇文章主要介绍了

  • Java 中的异常
  • 如何处理函数抛出的异常
  • 处理异常的原则
  • 异常处理时,性能开销大的地方
  • 异常处理机制 · 语雀 (yuque.com)

    Java 语言在设计之初就提供了相对完善的异常处理机制。

    我们首先介绍一下 Java 中的异常。

  • 介绍 Java 中的异常

    异常是程序在运行过程中出现的程序异常事件,异常会中断正在执行的正常指令流 。

    Java 中的异常分为两大类:Exception 和 Error。

  • 下面是 Exception 和 Error 的类定义

    public class Exception extends Throwable {}
    public class Error extends Throwable {}

    Exception 和 Error 都继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者被捕获(catch)。

    Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。

    下面我们逐一介绍 Error 和 Exception。

介绍 Error

Error 类对象一般是由虚拟机生成并抛出,绝大部分的 Error 都会导致虚拟机自身处于不可恢复的状态,是程序无法控制和处理的。当出现 Error 时,一般会选择终止线程。

Error 中最常见的是虚拟机运行错误(VirtualMachineError 抽象类)。

虚拟机运行错误中最常见的有:

  • 内存溢出(OutOfMemoryError):由于内存不足,虚拟机没有可分配的内存了,垃圾回收器也不能释放更多的内存,那么虚拟机抛出 OutOfMemoryError
  • 栈溢出(StackOverflowError):如果一个线程已用的栈大小 超过 配置的允许最大的栈大小,那么虚拟机抛出 StackOverflowError

介绍 Exception

Exception 有两种类型「编译时异常」和「运行时异常」

  • 「编译时异常」对应 Java 的 Exception 类
  • 「运行时异常」对应 Java 的 RuntimeException 类(RuntimeException 类继承 Exception 类 )

下面是 Exception、RuntimeException 类的定义

public class E
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值