为了账号安全,请及时绑定邮箱和手机立即绑定

既然线程的sleep方法直接用会抛异常。。。

既然线程的sleep方法直接用会抛异常。。。

qq_杀意隆_0 2018-04-24 09:31:20
public class Test extends Thread{ public void run()  { Thread.sleep(1000); } public static void main(String[] args) { new Test().start(); } }既然上面代码直接调用一定会抛异常;public class Test extends Thread{ public void run()  { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { new Test().start(); } }那么加上try-catch之后catch语句块为何又没有被执行??? Thread.sleep(1000);不是必然抛异常吗?
查看完整描述

3 回答

?
北七哦

TA贡献33条经验 获得超4个赞

调用sleep方法会中断吗,不是要调用interrupt方法才中断?

查看完整回答
反对 回复 2018-04-24
  • qq_杀意隆_0
    qq_杀意隆_0
    调用sleep方法时阻塞线程。我这里没提到中断啊
  • 北七哦
    北七哦
    https://www.cnblogs.com/xll1025/p/6415378.html看下这个,我没看懂哈哈哈
?
半枯

TA贡献101条经验 获得超45个赞

是可能存在异常,所以要异常处理,你这个代码是不会有这种情况的,但不排除其他代码可能会造成的异常.


查看完整回答
反对 回复 2018-04-24
  • qq_杀意隆_0
    qq_杀意隆_0
    如果像你说的是可能存在异常,那么为何第一段代码每次一运行就抛出InterruptedException异常?
  • 半枯
    半枯
    雨天路滑,一定要等行人滑到了再提醒?这是一个机制,为的是在出现异常的情况下,机器如何去处理,而不是出问题了再修改.
  • 3 回答
  • 0 关注
  • 2676 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信