Java基础:Throwable和Exception的区别

ThrowableException 在 Java 异常处理机制中扮演着不同的角色:

  1. Throwable

    • java.lang.Throwable 是 Java 中所有异常和错误的顶级超类,它是异常层次结构的根。
    • 所有的错误和异常对象都必须是 Throwable 或其子类的实例。
    • Throwable 类有两个直接子类:ErrorException
  2. Error

    • Error 类及其子类表示系统级的错误,通常是不可预见的、严重的故障,如 JVM 内存溢出(OutOfMemoryError)、系统崩溃(VirtualMachineError)等。
    • 这些错误通常表明系统处于不正常状态,应用程序无法进行有效的恢复操作。
    • 开发者通常不需要也无法针对这些错误编写处理代码,因为它们通常代表着系统层面的失败。
  3. Exception

    • Exception 类及其子类代表的是程序运行时可能出现的问题,这些问题可以通过编程手段来处理和恢复。
    • Exception 分为两大类:
      • 受检异常(Checked Exception):如 IOExceptionSQLException 等,在方法签名中需要声明或捕获的异常,编译器会强制开发者处理这些异常,否则代码无法通过编译。
      • 运行时异常(Unchecked Exception / RuntimeException):如 NullPointerExceptionArrayIndexOutOfBoundsExceptionIllegalArgumentException 等,这些异常在编译时不强制处理,但在运行时如果发生,通常会导致程序中断执行,除非被捕获并在catch块中处理。

总结来说,Throwable 是 Java 异常体系的基础,而 Exception 是一种可以被捕获并处理的程序运行时遇到的问题的抽象,它涵盖了大多数编程过程中可能遇到的异常状况;而 Error 则表示更底层、更严重的系统错误,一般不适合也不期望在应用层代码中进行捕获和处理。

  • 18
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值