gpt4 book ai didi

java - 已声明异常但未处理 SCJP

转载 作者:行者123 更新时间:2023-12-01 13:31:08 26 4
gpt4 key购买 nike

public class Starter extends Thread{  

private int x = 2;

public static void main(String[] args) throws Exception {

new Starter().makeItSo();
}

public Starter()
{
x = 5;
start();
}

public void makeItSo() throws Exception {
join();
x = x - 1;
System.out.println(x);
}

public void run() {
x *= 2;
}
}

我明白代码是如何工作的,答案是“9”。但我对异常的概念有疑问。据我所知 join() 方法抛出一个 ExceptionInterrupted Exception ,所以我们声明了该异常,但为什么我们没有处理该异常主要方法?

假设我在声明 join() 的同一方法中处理此异常。那么我需要在 main() 方法中做什么??

最佳答案

如果 join() 抛出异常并且您在 makeItSo() 中处理它,那么 makeItSo() 可能不需要将其抛出到 main()(或调用 makeItSo() 的人)。更重要的是,如果这个 main 是您唯一的 main() 方法并且没有从其他地方调用,那么它不应该抛出任何可能抛出的异常,而是在 try-catch(-最后) block 。

关于java - 已声明异常但未处理 SCJP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566144/

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