为什么需要try catch语句?

时间:2018-04-22 14:08:54

标签: java try-catch sleep interrupted-exception timeunit

为什么Java中需要一个try / catch异常处理语句用于以下行:

TimeUnit.MILLISECONDS.sleep(250);

我只希望我的代码在执行下一行之前休眠250毫秒。为什么需要try-catch语句?我无法预见任何例外情况。 python中的sleep函数不需要try catch。

我在IDE中没有添加try catch的例外是:

Error:(124, 40) error: unreported exception InterruptedException; must be caught or declared to be thrown

当我在try catch中将它包围在下面时它可以正常工作:

    try {
        TimeUnit.MILLISECONDS.sleep(250);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:0)

您需要捕获异常只是因为线程正在运行(休眠)可能会中断,您需要捕获中断。

来自Oracle description of the InterruptedException

  

当线程正在等待,休眠或以其他方式占用时抛出,并且线程在活动之前或期间被中断。

答案 1 :(得分:0)

中断正在休眠的线程是Java的一个非常重要的部分。它可以在您需要停止应用程序(或进程)时提供控制,并且不希望因线程休眠而停止这样做。 InterruptException允许开发人员捕获中断尝试并处理它。

也许你的牛肉一般都是经过检查的例外......这是许多人不喜欢的Java特色。我们可以理解您对已检查异常的挫败感。您可以通过Google阅读有关Java中已检查异常的更多信息。