首页 > 文章列表 > Java中如何抛出异常?

Java中如何抛出异常?

java 异常
253 2024-04-23

通过 throw 关键字抛出异常,语法:throw new ExceptionName(message)。步骤:1. 检查条件;2. 若条件不满足,抛出异常:throw new ExceptionName(message);3. 定义自定义异常:继承 Exception,提供构造函数和 getMessage() 方法。

Java中如何抛出异常?

Java 中如何抛出异常

在 Java 中,可以通过 throw 关键字抛出异常。异常是一种事件,表明程序遇到的问题导致其无法继续正常执行。

语法

throw new ExceptionName(message);

其中:

  • ExceptionName 是要抛出异常的类名。
  • message 是可选的异常消息,提供有关异常的详细信息。

实战案例

假设我们有一个方法来检查用户名是否有效。如果用户名无效,我们就需要抛出一个异常来指示错误。

public static void checkUsername(String username) throws InvalidUsernameException {
    // 检查用户名是否有效
    if (username == null || username.isEmpty()) {
        throw new InvalidUsernameException("用户名不能为空");
    }
}

当调用 checkUsername 方法时,如果传入的用户名无效,就会抛出一个 InvalidUsernameException 异常。

自定义异常

Java 提供了一个 Exception 基类,用于所有异常。但是,我们也可以创建自己的自定义异常类,为特定类型的错误提供更详细的信息。

以下是创建自定义异常 InvalidUsernameException 的步骤:

  1. 创建一个继承自 Exception 的新类。
  2. 提供一个构造函数来接收异常消息。
  3. 根据需要重新定义 getMessage() 方法。
public class InvalidUsernameException extends Exception {

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

}

使用自定义异常

自定义异常可以按照与内置异常相同的方式进行抛出和处理。

try {
    checkUsername("admin");
} catch (InvalidUsernameException e) {
    System.out.println(e.getMessage());
}

最佳实践

  • 仅抛出实际可能影响程序执行的异常。
  • 制定明确的异常处理策略,以确保异常得到正确处理。
  • 使用自定义异常来提供有关特定错误的更多详细信息。