当前位置:首页 > Java

java 如何抛异常

2026-04-09 01:11:38Java

抛出异常的基本语法

在Java中,使用throw关键字手动抛出异常。语法格式为:

throw new ExceptionType("Error message");

ExceptionType可以是Java内置异常类(如IllegalArgumentException)或自定义异常类。

抛出内置异常示例

public void checkAge(int age) {
    if (age < 18) {
        throw new IllegalArgumentException("Age must be at least 18");
    }
}

age小于18时,会抛出IllegalArgumentException并附带错误信息。

java 如何抛异常

创建自定义异常

自定义异常需继承Exception(受检异常)或RuntimeException(非受检异常):

class CustomException extends RuntimeException {
    public CustomException(String message) {
        super(message);
    }
}

使用时:

java 如何抛异常

throw new CustomException("This is a custom error");

受检异常与非受检异常

  • 受检异常:必须声明或捕获(如IOException

    public void readFile() throws IOException {
        throw new IOException("File not found");
    }
  • 非受检异常:无需声明(如RuntimeException子类)

    public void validate(int value) {
        if (value < 0) {
            throw new RuntimeException("Negative value");
        }
    }

异常链

可通过构造方法传递原始异常:

try {
    // 可能出错的代码
} catch (IOException e) {
    throw new CustomException("Wrapper message", e);
}

最佳实践

  • 优先使用标准异常(如IllegalArgumentException
  • 异常信息应清晰说明错误原因
  • 避免过度使用异常处理流程控制
  • 自定义异常通常用于业务特定错误

完整示例

public class Account {
    private double balance;

    public void withdraw(double amount) {
        if (amount <= 0) {
            throw new IllegalArgumentException("Amount must be positive");
        }
        if (amount > balance) {
            throw new InsufficientFundsException(
                "Requested: " + amount + ", Available: " + balance);
        }
        balance -= amount;
    }
}

class InsufficientFundsException extends RuntimeException {
    public InsufficientFundsException(String message) {
        super(message);
    }
}

标签: 异常java
分享给朋友:

相关文章

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…

react如何接收异常

react如何接收异常

React 中接收异常的方法 在 React 中,异常处理可以通过多种方式实现,包括全局错误边界、组件级错误边界以及异步代码的异常捕获。 使用 Error Boundaries 捕获组件异常 Err…