为什么有些线程的方法定义了要throws InterruptedException,如sleep, join, wait 等。 在什么情况下,会发生这些异常? 编码时在捕获到这些异常时,我们该怎么去处理?