Java 异常处理 -- Java 语言的异常、异常链与断言

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 009 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自己的技术栈的同学。与此同时,本专栏的所有文章,也都会准备充足的代码示例和完善的知识点梳理,因此也十分适合零基础的小白和要准备工作面试的同学学习。当然,我也会在必要的时候进行相关技术深度的技术解读,相信即使是拥有多年 Java 开发经验的从业者和大佬们也会有所收获并找到乐趣。

世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的可靠性。


文章目录

      • 1、Java 异常概述
        • 1.1、异常机制简介
        • 1.2、异常的分类
          • 1.2.1、编译时异常
          • 1.2.2、运行时异常
          • 1.2.3、错误
      • 2、Java 异常的处理
        • 2.1、异常的捕获
          • 2.1.1、`try-catch-finally`
          • 2.1.2、`try-with-resources`
        • 2.2、异常的抛出
        • 2.3、异常的声明
        • 2.4、自定义异常
          • 2.4.1、创建自定义异常
          • 2.4.2、使用自定义异常
          • 2.4.3、自定义异常优点
      • 3、异常链
        • 3.1、什么是异常链接
        • 3.2、Java 中的异常链
          • 3.2.1、示例:定义自定义异常
          • 3.2.2、示例:实现文件读取和异常处理
          • 3.2.3、示例:异常的结果分析
        • 3.3、异常链中的 Caused by
      • 4、拓展:Java 断言处理
        • 4.1、断言的概念
        • 4.2、断言与异常的关系
        • 4.3、Java 断言的介绍
        • 4.4、Java 断言的形式
        • 4.5、Java 断言的场景
          • 4.5.1、变量值明确
          • 4.5.2、不可能到达的代码
          • 4.5.3、前置条件
          • 4.5.4、后置条件

1、Java 异常概述

1.1、异常机制简介

Java 异常是 Java 编程语言中的一种重要机制,用于处理程序执行中的错误情况。异常处理可以使程序在遇到错误时能够优雅地恢复或进行相应的处理,而不是直接崩溃。

在 Java 程序运行过程中,可能会出现各种错误,如文件错误信息、网络连接问题、无效的数组下标或未赋值的对象引用等。如果错误导致某些操作未完成,程序应该:

  1. 回到安全状态,让用户可以执行其他命令;
  2. 或者让用户保存所有操作结果,并适当地结束程序。

实现这些并不简单,因为检测或触发错误条件的代码通常与能够恢复数据到安全状态或保存