如何在 java 中不使用 try/catch 的情况下添加使用抛出异常的方法?

时间:2021-08-01 20:44:05

标签: java exception

有时当 JDK 声明一个方法时,例如Integer.parseInt(String s) 它抛出一个 NumberFormatException,但是当调用该方法时,您不需要尝试和捕获,我如何在自己的代码中执行此操作?

5 个答案:

答案 0 :(得分:2)

不清楚您到底在问什么 - 未经检查的异常或如何避免 try-catch-finalize 块。


未经检查的异常

如果您对方法如何抛出异常感兴趣,而不声明抛出它(就在主体之前),那么请注意,Java 编程语言不需要方法来捕获或指定 unchecked exceptions(“RuntimeException” 、“错误”及其子类)。

相反,您总是必须处理(或声明抛出)所有其他类型的异常。


避免 try-catch-finalize

但是,如果您质疑如何避免 try-catch-finalize 块,那么您可以通过声明您的方法抛出异常来向调用者抛出异常,如下所示:

[access-modifier] return-type methodName() throws Exception {
    ...
};

答案 1 :(得分:2)

在方法声明后使用“throws”子句。 例如:public static void main(String[] args) 抛出 IOException { }

答案 2 :(得分:0)

基本上有两种例外。在 Java 中检查和取消检查。从 RuntimeException 派生的所有异常都被取消选中,您不必捕获它们。

因此,如果您创建一个自己的异常来扩展 RuntimeException,则不必捕获它。还要检查现有的,因为它们通常已经满足您的需求。像 IllegalStateException 或 IllegalArgumentException。

答案 3 :(得分:0)

  1. 1)要在 Java 中创建自己的异常,您需要扩展 要从 Java 中的 Exception 类创建的类。 2)那么, 您可以使用 throw 关键字抛出自己的异常 where 你想通过覆盖它来写你想显示的错误 构造函数或 Exception 类中的 getMessage 方法 您创建的类。 3)如果你不想尝试自己的异常 并捕获,您需要从 RuntimeException 类扩展它。

答案 4 :(得分:0)

这个不需要 try_catch 的异常是从 Exception 类的 RuntimeException insted 扩展而来的。

您可以像这样创建自己的 RuntimeException:

public class CustomException extends RuntimeException {

    public CustomException(String msg) {
        super(msg);
    }

}

在这里,我给您留下一个链接,其中包含有关不同异常以及如何处理它们的更多信息: https://howtodoinjava.com/java/exception-handling/checked-vs-unchecked-exceptions-in-java/