当前位置: 首页 > article >正文

Java Throwable

Alt 'Java Throwable UML 图'

如图展示了 Java 整个异常体系的关系。

Throwable 的 Java 异常体系的基类, 他的直接子类有 Error 和 Exception 2 个。

1 Error

Error 表示的是由于系统错误, Java 虚拟机抛出的异常, 例如 Java 虚拟机崩溃, 内存不够等, 这种情况仅凭程序自身是无法处理的, 在程序中也不会对 Error 异常进行捕捉和抛出。

常见的实现有

  1. OutOfMemoryError
  2. StackOverflowError
  3. IOError

2 Exception

Exception 一般是由程序逻辑错误引起的,需要从程序逻辑角度进行处理, 尽可能避免这类异常的发生。

总体可以细分为 2 类 RuntimeException (运行时异常) 和 非 RuntimeException (非运行时异常),
也叫做 CheckedException (检查时异常)。

2.1 RuntimeException

程序运行过程中才可能发生的异常, 一般为代码的逻辑错误: 空指针, 类型错误转换,数组下标访问越界,网络端口被占用等。 这里异常在代码编译期是无感知, 无法检查出来的, 只有在实际运行代码时则会暴露出来。

常见的实现有

  1. ArrayIndexOutOfBoundsException
  2. ClassCastException
  3. NullPointerException

在编译期间, 一般不会强制要求处理这种异常。

2.2 非 RuntimeException (CheckedException)

编译期间可以检查到的异常, 必须显式的进行处理

  1. 通过 try - catch 进行捕获处理
  2. 通过 throw - throws 抛出给上一层

常见的实现有

  1. IOException
  2. InterruptedException
  3. NoSuchMethodException

http://www.kler.cn/news/155630.html

相关文章:

  • Spring中@Transactional注解
  • QueryRunner报红处理
  • electron-vue运用及案例代码
  • 后端项目连接数据库-添加MyBatis依赖并检测是否成功
  • flutter开发实战-为ListView去除Android滑动波纹
  • 在cmd下查看mysql表的结构信息
  • 【Android踩过的坑】13.Android Studio 运行成功,但APP没有安装上的问题
  • electron打包 Error output: !include: could not find:
  • 挖漏洞之SQL注入
  • Python---格式化输出与%百分号----涉及转义符 \ 反斜杠的使用
  • FLASK博客系列5——模板之从天而降
  • electerm下载和安装
  • YOLOv7+姿态估计Pose+tensort部署加速
  • MDETR 论文报告
  • MySQL中的锁(简单)
  • thinkphp 判断当前页 导航条高亮等方法
  • Android 13 - Media框架(21)- ACodec(三)
  • selinux-policy-default(2:2.20231119-2)软件包内容详细介绍(5)
  • 【深度学习实验】图像处理(四):PIL——自定义图像数据增强操作(图像合成;图像融合(高斯掩码))
  • 链表算法总结
  • Apache Doris 整合 FLINK 、 Hudi 构建湖仓一体的联邦查询入门
  • 接口测试快速入门 以飞致云平台为例
  • Selenium Grid
  • OpenCV入门11——图像的分割与修复
  • Helix QAC 2023.3版本发布,新增对C++20的支持等多个功能,实现100%MISRA C++:2023®规则覆盖
  • centos7中通过kubeadmin安装k8s集群
  • 解决OSError: [Errno 28] No space left on device报错和搭建AIrtest无线配置手机集群
  • PyQt基础_007_ 按钮类控件QCombox
  • matplotilb画图
  • 数学字体 Mathematical fonts