【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 日

相关推荐

  • 【Java多线程】如何使用Java多线程下载网络文件 断点续传

    如何使用Java多线程下载网络文件,并实现断点续传 在现代网络应用中,多线程下载是一种常见的技术,它可以显著提高下载速度并提供更好的用户体验。本篇文章将介绍如何使用Java实现多线程下载,并结合项目中的代码作为示例进行讲解。 1. 多线程下载的基本原理 多线程下载的基本思想是将一个文件分成多个部分,每个部分由一个线程独立下载,最后将这些部分合并成完整的文件。…

    未分类 2025 年 1 月 13 日
    36000
  • 比想象中更复杂一点的MySQL Slow Query Log

    1. 问题概述 在分析 Slow Query Log 时,记录下的SQL语句,明明会对一张表执行全表扫描,可为什么慢日志中的 Rows_sent 、Rows_examined 和表的真实记录数也是不一样,甚至相差N多倍。还有一个细节就是上述的SQL语句,执行多次,在慢日志中记录下多条记录,记录之间Rows_sent 、Rows_examined也差别明显。 …

    未分类 2025 年 1 月 16 日
    35500
  • Java 大视界 — Java 大数据物联网应用:数据处理与设备管理(八)

    💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客 !能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的博客 ,正是这样一个温暖美好的所在。在这里,你们不仅能够收获既富有趣味又极为实用的内容知识,还可以毫无拘束地畅所欲言,尽情分享自己独特的见解。我真诚地期待着你们的到来,愿我们能在这片…

    2025 年 1 月 21 日
    56800
  • 金仓数据库数据迁移实战:从MySQL到KES的顺利迁移

    今天,我们将探索金仓数据库的数据迁移功能。在此之前,我们使用的是简化版的Docker镜像,该版本并未集成可视化操作工具。因此,为了提高后续操作的便捷性,我们需要下载并安装Windows版本的安装包。 请留意,如果你没有安装数据库的计划,在安装过程中可以选择跳过相关组件的安装。具体的安装步骤我们将不再展示,因为这一过程非常直观,与其他常见软件的安装过程相似。 …

    2024 年 12 月 24 日
    39900
  • Java ArrayList 与顺序表:在编程海洋中把握数据结构的关键之锚

    我的个人主页我的专栏:Java-数据结构 ,希望能帮助到大家!!!点赞❤ 收藏❤ 前言 :在 Java编程的广袤世界里,数据结构犹如精巧的建筑蓝图,决定着程序在数据处理与存储时的效率、灵活性以及可扩展性。其中,ArrayList和顺序表作为线性数据结构的典型代表,犹如两颗璀璨的明星,在众多数据处理场景中熠熠生辉。 顺序表,以其简洁而直观的连续内存存储方式,为…

    2024 年 12 月 28 日
    36200

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信