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

相关推荐

  • JSP开发实战手册:基于IntelliJ IDEA构建首个动态网页项目

    JSP开发实战手册:基于IntelliJ IDEA构建首个动态网页项目 开篇导读 第一部分:JSP核心概念解析 1.1 JSP的核心功能 1.2 JSP与Servlet的技术关联 第二部分:使用IDEA开发JSP应用 第三部分:JSP与HTML技术对比 3.1 语法结构差异 3.2 注释方式对比 开篇导读 在掌握Web开发基础技术后(包括构建页面结构的HTM…

    2025 年 5 月 13 日
    35200
  • MySQL 安装部署

    概述 本文主要介绍如何在 Linux 中以 RPM 包的方式安装 MySQL 并进行相关的初始化配置,文中方案均已实践验证。 操作系统 CentOS 7.6 数据库版本 MySQL 8.4.3 LTS [!NOTE] 说明 本文主要介绍 RPM 包的安装方式,其他安装方法可查阅官网:MySQL :: MySQL 8.4 Reference Manual ::…

    未分类 2025 年 1 月 11 日
    43300
  • WxPython跨平台开发框架之图标选择界面

    在使用 wxPython 开发跨平台桌面应用程序时,创建一个图标选择界面 通常用于让用户从图标资源库中选择图标,我们可以把图标分为自定义的图标资源和系统的图标资源两大类,最终我们把它们整合一起使用,在框架的界面中使用,包括工具栏、右键菜单、按钮、图片等所需的地方显示,实现图文并茂的友好界面展示。本篇随笔介绍这两种图标资源的管理和使用过程。 1、图标分类介绍 …

    2025 年 1 月 1 日
    46300
  • Nginx HttpHeader增加几个关键的安全选项

    在面对德勤等专业渗透测试(Pentest)的场景时,为了确保网站的安全性并顺利通过严格的安全审查,对这些安全头部配置进行精细化和专业化的调整是至关重要的。 以下是对每个选项的详细建议以及设置值的说明: 1. Strict-Transport-Security (HSTS) 这一策略确保所有通信都通过HTTPS进行,并防止降级攻击。 推荐值: add_head…

    未分类 2024 年 12 月 24 日
    53700
  • manim边做边学–动画更新

    今天介绍Manim中用于动画更新的3个类 ,分别是: UpdateFromFunc:根据自定义的函数来动态更新 Mobject 的属性 UpdateFromAlphaFunc:根据动画的进度来平滑地改变 Mobject 的属性 MaintainPositionRelativeTo:保持多个 Mobject 之间的相对位置关系 这3个类 分别从自定义更新、基于…

    2025 年 1 月 11 日
    47800

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信