当前位置:首页 > 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并附带错误信息。

创建自定义异常

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

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

使用时:

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");
        }
    }

异常链

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

java 如何抛异常

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.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何自定义异常

java如何自定义异常

自定义异常的基本概念 在Java中,自定义异常是通过继承现有的异常类来实现的。通常选择继承Exception(受检异常)或RuntimeException(非受检异常)。自定义异常允许开发者根据业务需…

java语言如何进行异常处理

java语言如何进行异常处理

异常处理的基本概念 Java中的异常处理机制用于捕获和处理程序运行时可能出现的错误或异常情况。异常分为检查型异常(Checked Exception)和非检查型异常(Unchecked Excepti…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…

java实现php

java实现php

Java 实现 PHP 功能的方法 在 Java 中实现 PHP 的功能通常涉及以下几个方面:字符串处理、Web 开发、数据库操作等。以下是几种常见需求的实现方法。 字符串处理 PHP 中的字符串处…