Java 中的异常

简介: 本文介绍了Java中异常的继承关系及分类,重点讲解了Throwable作为顶层父类,Error表示不可恢复错误,Exception表示可恢复异常,并区分了检查异常与非检查异常(RuntimeException)。

c7398dd012da6d7ed12bfad42450c1e.png

异常的重要继承关系如图所示,其中

  • Throwable 是其它异常类型的顶层父类
  • Error 表示无法恢复的错误,例如 OutOfMemoryError 内存溢出、StackOverflowError 栈溢出等
  • 这类异常即使捕捉住,通常也无法让程序恢复正常运行
  • Exception 表示可恢复的错误,处理方式有两种
  • 一是自己处理,用 catch 语句捕捉后,可以进行一些补救(如记录日志、恢复初始状态等)
  • 二是用 throw 语句将异常继续抛给上一层调用者,由调用者去处理
  • Exception 有特殊的子类异常 RuntimeException,它与 Exception 的不同之处在于
  • Exception 被称之为检查异常,意思是必须在语法层面对异常进行处理,要么 try-catch,要么 throws
  • RuntimeException 和它的子类被称为非检查异常(也可以翻译为字面意思:运行时异常),在语法层面对这类异常并不要求强制处理,不加 try-catch 和 throws 编译时也不会提示错误
  • 常见的非检查异常有
  • 空指针异常
  • 算术异常(例如10/0)
  • 数组索引越界异常
  • 类型转换异常
  • ...
相关文章
|
8月前
|
存储 NoSQL Java
我了解的java中常见的数据结构
本内容介绍了常见的数据结构,包括线性结构(如动态数组、链表、栈、队列)和非线性结构(如优先级队列、哈希表、红黑树、跳表、B+树),并结合 Java 中的具体实现(如 ArrayList、LinkedList、PriorityQueue、HashMap、TreeMap 等)说明其特点与应用场景。
261 7
|
8月前
|
Java 索引
HashMap 原理(数据结构)
HashMap 在 JDK 1.8 后采用数组+链表+红黑树实现。通过 key 的 hashCode 计算索引,存取效率为 O(1)。发生冲突时,使用链表或红黑树(链表长度 ≥ 8 且容量 ≥ 64 时树化),提升性能。数组默认容量 16,负载因子 0.75,超过阈值则扩容,容量翻倍。新增元素时,判断是否更新、链表插入或树化,并检查是否需要扩容。
268 3
|
8月前
|
数据采集 人工智能 安全
MyEMS 开源能源管理系统:赋能双碳目标的能源数字化基础设施
MyEMS 是基于 Python 构建的开源能源管理系统,支持多场景能源数据采集、分析与可视化,集成设备管理、故障诊断与AI优化控制,助力碳达峰碳中和目标。系统符合国家“三级平台”架构,具备高扩展性与安全性,适用于工厂、数据中心等多种场景。
318 7
|
8月前
|
Windows
电脑提示错误0xc0000142的解决方法
遇到电脑提示错误0xc0000142时,可以尝试以下解决方法: 检查程序兼容性设置‌
|
8月前
|
JavaScript 前端开发 Java
=和==和=== 和 equals 的区别
本内容介绍了编程中常见的运算符与方法区别,包括赋值运算符“=”,比较运算符“==”,以及JavaScript中用于全等比较的“===”。同时说明了在Java中“==”和equals方法的区别
490 5
|
8月前
|
人工智能 监控 算法
构建时序感知的智能RAG系统:让AI自动处理动态数据并实时更新知识库
本文系统构建了一个基于时序管理的智能体架构,旨在应对动态知识库(如财务报告、技术文档)在问答任务中的演进与不确定性。通过六层设计(语义分块、原子事实提取、实体解析、时序失效处理、知识图构建、优化知识库),实现了从原始文档到结构化、时间感知知识库的转化。该架构支持RAG和多智能体系统,提升了推理逻辑性与准确性,并通过LangGraph实现自动化工作流,强化了对持续更新信息的处理能力。
1132 5
|
12月前
|
数据采集 人工智能 大数据
演讲实录:中小企业如何快速构建AI应用?
AI时代飞速发展,大模型和AI的应用创新不断涌现,面对百花齐放的AI模型,阿里云计算平台大数据AI解决方案总监魏博文分享如何通过阿里云提供的大数据AI一体化平台,解决企业开发难、部署繁、成本高等一系列问题,让中小企业快速搭建AI应用。
|
8月前
|
机器学习/深度学习 人工智能 搜索推荐
AI+基因数据:健康诊断的“未来体检报告”来了
AI+基因数据:健康诊断的“未来体检报告”来了
280 6
|
8月前
|
数据可视化 算法 数据挖掘
HiChIP 数据分析: 分析简介
HiChIP 数据分析: 分析简介
HiChIP 数据分析: 分析简介
|
8月前
|
机器学习/深度学习 监控 算法
基于YOLOv8的智能鼠类目标检测系统 | 室内外老鼠自动识别与追踪【含完整训练源码+部署教程】
在城市环境、食品工厂、仓储物流以及实验室等场景中,老鼠(鼠类)检测需求逐渐增加。传统的红外检测或人工排查手段存在成本高、误报多、实时性差的问题。本项目结合深度学习中的YOLOv8目标检测算法,训练了专门用于识别“老鼠”目标的模型,可快速部署至视频监控系统、摄像头终端、图像分析平台等环境中,真正实现实时、高效、准确的鼠类识别,为智能化鼠害防控系统提供核心技术支撑。
基于YOLOv8的智能鼠类目标检测系统 | 室内外老鼠自动识别与追踪【含完整训练源码+部署教程】