ITPub博客

首页 > 应用开发 > Java > throw 和 throws 的区别是什么?

throw 和 throws 的区别是什么?

原创 Java 作者:mingtian66 时间:2024-11-11 12:06:01 0 删除 编辑

在 Java 中,throw 和 throws 都用于异常处理,但它们的用途和使用位置不同:
throw 关键字

    作用:用于显式抛出一个异常。
    用法:一般用于方法内部,通过 throw 语句主动抛出一个异常对象(通常是 new 出来的)。
    位置:出现在方法体内,表示在代码执行到该语句时,抛出指定的异常。

示例

public void checkAge(int age) {
    if (age < 18) {
        throw new IllegalArgumentException("年龄必须大于或等于 18 岁");
    }
    // 其他代码
}

在上述示例中,如果 age 小于 18,则会通过 throw 抛出一个 IllegalArgumentException 异常。
throws 关键字

    作用:用于声明一个方法可能会抛出的异常类型,提醒调用者捕获或继续抛出这些异常。
    用法:通常用于方法的声明部分,用于列出该方法可能会抛出的异常类型。
    位置:位于方法签名中的参数列表之后,表示该方法可能会抛出指定类型的异常。

示例

public void readFile(String fileName) throws IOException {
    // 可能会抛出 IOException
    FileInputStream file = new FileInputStream(fileName);
    // 其他代码
}

在这个示例中,readFile 方法声明了 throws IOException,表示该方法可能会抛出 IOException,调用者必须处理这个异常(通过 try-catch 或继续使用 throws 抛出)。
总结区别
关键字    作用    用法    位置
throw    显式抛出一个异常对象    throw new ExceptionType(message);    方法体内
throws    声明方法可能抛出的异常类型    public void method() throws ExceptionType    方法签名(参数列表之后)

    throw 用于在方法内主动抛出异常。
    throws 用于方法声明中,表示调用该方法时可能抛出的异常类型。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3048314/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    603062