-3

为什么在 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();
    }
4

2 回答 2

0

您需要捕获异常只是因为正在运行(睡眠)的线程可能被中断并且您需要捕获中断。

来自Oracle 对 InterruptedException 的描述

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

于 2018-04-22T14:17:26.417 回答
0

中断正在休眠的线程是 Java 的一个非常重要的部分。当您需要停止应用程序(或进程)并且不希望由于线程休眠而停止执行此操作时,它提供了控制。InterruptException 允许开发人员捕获中断尝试并进行处理。

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

于 2018-04-22T14:19:06.583 回答