为什么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();
}
答案 0 :(得分:0)
您需要捕获异常只是因为线程正在运行(休眠)可能会中断,您需要捕获中断。
来自Oracle description of the InterruptedException
当线程正在等待,休眠或以其他方式占用时抛出,并且线程在活动之前或期间被中断。
答案 1 :(得分:0)
中断正在休眠的线程是Java的一个非常重要的部分。它可以在您需要停止应用程序(或进程)时提供控制,并且不希望因线程休眠而停止这样做。 InterruptException允许开发人员捕获中断尝试并处理它。
也许你的牛肉一般都是经过检查的例外......这是许多人不喜欢的Java特色。我们可以理解您对已检查异常的挫败感。您可以通过Google阅读有关Java中已检查异常的更多信息。