在 Java 中捕获和处理自定义异常的代码示例

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。

以下是一个在Java中捕获和处理自定义异常的完整代码示例:

// 1. 自定义异常类
class CustomException extends Exception {
   
    public CustomException() {
   
        super();
    }

    public CustomException(String message) {
   
        super(message);
    }
}

// 2. 包含可能抛出自定义异常的方法的类
class MyClass {
   
    public static void doSomething() throws CustomException {
   
        // 这里模拟一个可能抛出异常的情况,例如满足某个条件就抛出异常
        boolean someCondition = true;
        if (someCondition) {
   
            throw new CustomException("自定义异常发生了,因为满足了特定条件");
        }
    }
}

// 3. 主类,用于捕获和处理自定义异常
public class Main {
   
    public static void main(String[] args) {
   
        try {
   
            MyClass.doSomething();
            System.out.println("如果没有抛出异常,这里会正常执行");
        } catch (CustomException e) {
   
            System.out.println("捕获到自定义异常: " + e.getMessage());
            // 可以在这里添加更多针对该异常的处理逻辑,比如记录日志、进行一些补救措施等
        }
    }
}

在上述代码中:

  • 首先定义了一个自定义异常类 CustomException,它继承自 Exception 类,并重写了构造函数以便能传递自定义的异常消息。
  • 然后创建了 MyClass 类,其中的 doSomething 方法在满足特定条件时会抛出 CustomException 异常。
  • 最后在 Main 类的 main 方法中,通过 try - catch 块调用 MyClass.doSomething() 方法。如果该方法抛出 CustomException,则会在 catch 块中被捕获并处理,这里只是简单地打印出异常消息,实际应用中可以根据需求添加更复杂的处理逻辑。
相关文章
|
1月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
236 0
|
2月前
|
Java 编译器 数据库连接
Java异常处理:写出更健壮的代码
Java异常处理:写出更健壮的代码
152 0
|
2月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
122 0
|
2月前
|
XML 人工智能 Java
java通过自定义TraceId实现简单的链路追踪
本文介绍了如何在Spring Boot项目中通过SLF4J的MDC实现日志上下文traceId追踪。内容涵盖依赖配置、拦截器实现、网关与服务间调用的traceId传递、多线程环境下的上下文同步,以及logback日志格式配置。适用于小型微服务架构的链路追踪,便于排查复杂调用场景中的问题。
112 0
java202302java学习笔记第七天-自定义异常和小结1
java202302java学习笔记第七天-自定义异常和小结1
84 0
java202302java学习笔记第七天-自定义异常和小结1
java202302java学习笔记第七天-自定义异常和小结2
java202302java学习笔记第七天-自定义异常和小结2
102 0
java202302java学习笔记第七天-自定义异常和小结2
java202303java学习笔记第三十四天自定义异常2
java202303java学习笔记第三十四天自定义异常2
129 0
java202303java学习笔记第三十四天自定义异常1
java202303java学习笔记第三十四天自定义异常1
157 0
|
Java
【Java学习笔记】自定义Java异常
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.前言: 你的程序总有一天会崩溃掉,在崩溃掉的时候我们要知道它在哪,为了什么而崩溃掉,数据的保存或者丢失情况如何等问题。
760 0