首页 > 编程笔记 > Java笔记 阅读:11

Java抛出异常(throw)的用法(附带实例)

在 Java 中,throw 关键字用于显式抛出异常。

通过使用 throw 关键字,我们可以在 Java 代码中主动抛出异常,以便在特定情况下引发异常,并在调用方进行处理。

要使用 throw 抛出异常,需要按照以下步骤进行:
  1. 创建一个异常对象,可以是现有的预定义异常类对象(如 NullPointerException、IllegalArgumentException 等),也可以是自定义的异常类对象。
  2. throw 关键字后跟要抛出的异常对象。

下面是一个示例代码,演示如何使用 throw 显式抛出异常:
class AuthenticationException extends Exception {
    // ...
}

public class Example {
    // 示例方法,演示如何显式抛出自定义的 AuthenticationException 异常
    public void login(String username, String password) throws AuthenticationException {
        // 假设这里是进行用户登录验证的逻辑
        if (username == null || password == null) {
            throw new AuthenticationException("用户名或密码不能为空", "ERROR001");
        }
        // 其他验证逻辑...
    }

    public static void main(String[] args) {
        Example example = new Example();
        String username = null;
        String password = "secret";
        try {
            // 调用 login() 方法,如果用户名或密码为空,将会显式抛出 AuthenticationException 异常
            example.login(username, password);
        } catch (AuthenticationException e) {
            System.out.println("捕获到自定义异常:" + e.getMessage());
            System.out.println("错误码:" + e.getErrorCode());
        }
    }
}
上述程序的运行结果如下:

捕获到自定义异常:用户名或密码不能为空
错误码:ERROR001

在上述示例中,定义了一个名为 login 的方法,该方法用于用户登录验证。在这个方法中,首先检查用户名和密码是否为空,如果为空,就使用 throw 关键字显式抛出一个 AuthenticationException 异常,并提供异常消息:“用户名或密码不能为空”和错误码“ERROR001”。

在 main() 方法中,调用 login() 方法,并传入用户名为 null 的情况。因为用户名为空,所以在 login() 方法内部会显式抛出 AuthenticationException 异常。在 catch 代码块中,捕获并处理这个异常,并输出异常消息和错误码。

相关文章