gpt4 book ai didi

java - 从不同类的单独方法调用包含抛出 InterruptedException 的方法

转载 作者:行者123 更新时间:2023-12-02 11:04:06 24 4
gpt4 key购买 nike

我正在尝试编写一个程序,其中每个类都有单独的类和方法,交叉调用其他类的方法。下面是我想从另一个类的另一个方法调用的编码方法。

public class walk{
public void walk() throws InterruptedException {
Printer printer = new Printer();
printer.start();
}
}

以下是单独类中的另一个方法调用它的方式。

public class Runner{
public static void main(String [] args) {
walk w1 = new walk();
w1.walk();
}
}

弹出的错误是error: 未报告异常InterruptedException;必须被捕获或声明为抛出,它指出问题出在以下代码行。

w1.walk();

有谁知道如何从单独的类调用此方法,还是我对 public void 行做了其他错误?

最佳答案

InterruptedException不扩展 RuntimeException,您必须在调用 walk() 时使用 try-catch block 处理声明的异常:

try {
w1.walk();
} catch (InterruptedException e) {
// TODO Handle exception, e.g. log it or notify the user.
}

另一种解决方案是使用 throws 在调用方法的方法签名中声明异常:

public void x() throws InterupptedException
walk w1 = new walk();
w1.walk();
}

当您想要将异常处理传递给方法的调用者时,第二种方法是可行的。您可以声明 main-method 来抛出异常,但恕我直言,main-method 甚至应该捕获不可恢复的异常并至少记录它们。

Java Tutorials可以在处理异常时为您提供一些指导,我的建议是阅读 Catch or Specify Requirement并熟悉Java中的三种异常。

关于java - 从不同类的单独方法调用包含抛出 InterruptedException 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com