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

How can you add use a method that throws an exception without using try/catch in java?

有时 JDK 声明了一个方法,例如Integer.parseInt(String s) 它抛出一个 NumberFormatException,但是当调用该方法时你不需要 try 和 catch,我如何在我自己的代码中做到这一点?

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


未经检查的异常

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

相比之下,您始终必须处理(或声明抛出)所有其他类型的异常。


避免 try-catch-finalize

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

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

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

基本上有两种异常。在 Java 中检查并取消检查。所有从 RuntimeException 派生的异常都是未处理的,您不必捕获这些异常。

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

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

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

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

public class CustomException extends RuntimeException {

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

}

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