【Java】异常处理见解,了解,进阶到熟练掌握

各位读者,早安、午安、晚安!

如果您发现这篇文章对您有所启发,
不妨点赞、评论、分享,您的支持是我不断进步的动力。
也欢迎您将这篇文章推荐给更多人。

【Java】异常处理见解,了解,进阶到熟练掌握

今天我们将深入探讨Java面向对象编程中的抽象类和接口,让我们一起来看看它们是如何协同工作的。

目录

1.(throws和throw)我们选择忽略这个异常,将其向外抛出

1.1:使用throws时的注意事项

1.2:使用throw时的注意事项

2:(try-catch)我们主动捕获并处理这个异常

2.1. try块中抛出异常后,后续代码将不会执行

2.2. 如果抛出的异常类型与catch块中的类型不匹配

2.3. try块中可能抛出多个不同类型的异常

2.4:两种不推荐的异常捕获方式

3:关于“调用栈”(e.printStackTrace())

关于“调用栈”

4:finally

4:自定义异常类


第一次复习:

【Java】异常处理见解,了解,进阶到熟练掌握

在Java中,程序执行过程中出现的非正常行为被称为异常。

要理解异常,我们首先需要了解以下概念:

【Java】异常处理见解,了解,进阶到熟练掌握

从上图可以看出:

  1. Throwable:作为异常体系的根类,它有两个重要的子类,ErrorException

  2. Error:指的是Java虚拟机无法解决的严重问题,例如:JVM内部错误、资源耗尽等,典型的例子包括:

StackOverflowErrorOutOfMemoryError,一旦发生,通常无法恢复。

  1. Exception:这类异常发生后,程序员可以通过代码进行处理,使程序继续执行。例如:感冒、发烧。我们通常所说的异常就是指Exception。

异常处理的基本策略:
【Java】异常处理见解,了解,进阶到熟练掌握

关于异常的一般处理方法:

异常的种类繁多,我们需要根据不同的业务场景来决定处理方式。

对于严重的问题(如涉及金钱的场景),应让程序直接终止,以防止更严重的后果

对于不太严重的问题(大多数场景),可以记录错误日志,并通过监控系统及时通知开发人员。

对于可能恢复的问题(如网络相关的场景),可以尝试重试。

在我们当前的代码中,我们采取的是简化的第二种方式。我们记录的错误日志包含了出现异常的方法调用信息,这可以帮助我们快速定位异常发生的位置。在实际工作中,我们会采取更全面的方式来记录异常信息。

例如,在我们之前的编码实践中经常遇到的:

1:算术异常

```java
System.out.println(10/0);
```

【Java】异常处理见解,了解,进阶到熟练掌握

  1. 数组越界异常

int[] arr = {1, 2, 3};

System.out.println(arr[100]);

【Java】异常处理见解,了解,进阶到熟练掌握

3:空指针异常

```java
int[] array = null;
System.out.println(array.length);
```

![](https://

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4563.html

(0)
LomuLomu
上一篇 2024 年 12 月 28 日
下一篇 2024 年 12 月 28 日

相关推荐

  • 华为OD机试E卷 –连续字母长度–24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。 输入描述 第一行有一个子串(1

    未分类 2025 年 1 月 19 日
    64900
  • ChatGPT Claude微信支付宝充值教程

    ChatGPT Claude微信支付宝充值教程,适合国内用户用微信支付宝处理充值、代充、订阅或续费问题。

    未分类 2026 年 5 月 26 日
    4300
  • 促销系统:促销活动、优惠券、优惠规则概念模型设计

    大家好,我是汤师爷~ 概念模型设计是促销系统开发的关键环节,我们需要基于之前的功能分析,将复杂的促销业务拆解成清晰的领域概念,这些概念之间的关系界定和边界划分,将直接决定系统的可维护性和扩展性。 促销系统核心概念模型 通过对促销业务的分析,我们可以抽象出促销系统的关键概念模型。 1、促销活动模型 促销活动模型对活动的各个要素和规则进行抽象,包含活动名称、描述…

    2025 年 1 月 11 日
    47100
  • 手动部署前后端分离的项目到本地

    1.准备工作 使用maven打包springboot项目为.jar文件得到springboot-0.0.1-SNAPSHOT.jar 打包vue项目 npm install -g @vue/cli安装Vue CLI 在项目根目录下,运行npm run build命令来构建项目得到一个dist文件夹 将打包好的文件通过远程仓库中转至docker虚拟机 在虚拟机…

    2025 年 1 月 13 日
    53700
  • 【Java】:lambda 表达式

    ![](https://pic.it1024doc.com/csdn/202412/71e03759762be38e9b71a6acff995d34.png) ### **1. 引言 🚀** 🔥 **Lambda** 表达式是Java在JDK8中引入的一项创新特性,它极大地简化了Java代码的编写,尤其是在处理集合遍历和操作时。Lambda表达式允许我们将函…

    未分类 2024 年 12 月 28 日
    67300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信