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

相关推荐

  • 如何用串口调试助手ComTone调试串口?附安装包

    前言 大家好,我是小徐啊。我们在调试应用的时候,有时候是需要进行串口通信的。但并不是每次都有实时的串口数据供我们去测试,这个时候就需要一个模拟生成串口数据的工具来帮助我们了。今天,小徐就来介绍下串口调试助手ComTone的用法。文末附获取方式。 如何使用串口调试助手ComTone 首先,需要选择对应的端口号,这个必须是能联通的串口号,然后点击打开串口按钮,如…

    2025 年 1 月 10 日
    55100
  • 如何做好软件架构师

    本文以个人视野聊下软件架构师的工作以及软件架构设计知识。做开发工作接近10年了,期间主要做Windows应用开发。在成熟的“华南区最大WPF团队”希沃白板呆了较长一段时间、后面从0到1构建Windows技术栈以及会议屏软件集,在软件设计这块自己成长了很多。之前整理过如何做好技术经理 – 唐宋元明清2188 – 博客园,这里梳理下自己的设计思维,算是自己阶段性…

    未分类 2025 年 1 月 14 日
    60300
  • JavaScript 延迟加载的方法( 7种 )

    JavaScript脚本的延迟加载(也称为懒加载)是指在网页的主要内容已经加载并显示给用户之后,再加载或执行额外的JavaScript代码。这样做可以加快页面的初始加载速度,改善用户体验,并减少服务器的压力。 以下是几种常见的延迟加载JavaScript的方法: defer 属性: 使用 async 属性: async 属性告诉浏览器立即开始下载脚本,并且在…

    2025 年 1 月 16 日
    40600
  • 深入解析Java中的嵌套类机制

    探索Java嵌套类的奥秘 📚📚本文将系统性地介绍Java嵌套类的核心概念、应用场景及具体实现方式,帮助开发者全面掌握这一重要特性。内容导航1. 嵌套类基本概念2. 嵌套类的优势分析3. 嵌套类的实践应用🍇实例成员嵌套类🍈类静态嵌套类🍊方法局部嵌套类🍒匿名实现类📚要点回顾 1. 嵌套类基本概念 🥦🥦🥦当某个对象需要包含具有完整结构的辅助对象时,而这些辅助对象仅…

    2025 年 5 月 18 日
    29300
  • 使用 gt-checksum 迁移表结构到 GreatSQL

    将数据库表结构迁移至 GreatSQL 的指南 引言 本文旨在指导如何利用 gt-checksum 工具,将数据库表结构从 ORACLE 迁移至 GreatSQL。 gt-checksum 简介 gt-checksum 是 GreatSQL 社区开发的开源静态数据库校验和修复工具,它支持包括 MySQL 和 Oracle 在内的多种主流数据库系统。其商业版本…

    未分类 2024 年 12 月 24 日
    61400

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信