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

简介: 本文提供了一个 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 块中被捕获并处理,这里只是简单地打印出异常消息,实际应用中可以根据需求添加更复杂的处理逻辑。
相关文章
|
3月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
398 5
|
3月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
144 4
|
3月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
279 115
|
3月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
198 98
|
3月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
320 43
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
220 1
|
3月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
240 1
|
4月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
195 0
|
4月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
322 16