这是连接功能:
public static void main(String[] args) {
Thread t1 = new Thread(new MyRunnable(), "t1");
Thread t2 = new Thread(new MyRunnable(), "t2");
Thread t3 = new Thread(new MyRunnable(), "t3");
t1.start();
//start second thread after waiting for 2 seconds or if it's dead
try {
t1.join(2000);
} catch (InterruptedException e) {
System.out.println("In catch");
}
t2.start();
我们知道我们必须在try-catch块中放入join函数(和sleep函数),然后当join函数抛出InterruptedException时,为什么In catch
没有打印?
它背后的逻辑是什么?
答案 0 :(得分:3)
java中throws
的定义是可以抛出,不会说必须抛出。
异常抛出和捕获机制的目的是允许您处理异常(如果发生),这并不意味着它们将永远发生