gpt4 book ai didi

java - 为什么在我的示例中需要 try-catch with throws?

转载 作者:行者123 更新时间:2023-11-29 03:23:18 25 4
gpt4 key购买 nike

如果方法被声明为抛出相同的异常,有人可以帮助我理解为什么我需要使用(内部)try catch。

    public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(new Runnable() {

public void run() {
// TODO Auto-generated method stub
try {
producer();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
t1.start();
t1.join();
}

producer() 的语法是

private static void producer() 抛出 InterruptedException

最佳答案

答案是您正在定义一个匿名类。

Thread t1 = new Thread(new Runnable() {

public void run() {
try {
producer(); //This is called in run method!
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});

调用producer()的方法声明为public void run(),该方法不抛出checked exception。因此,你必须捕获它。

关于java - 为什么在我的示例中需要 try-catch with throws?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439167/

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