我在使用 Thread.sleep(x) 或 wait() 时遇到异常
我试图延迟 - 或进入睡眠状态 - 我的Java程序,但发生错误。
我无法使用 或 .出现相同的错误消息:Thread.sleep(x)
wait()
unreported exception java.lang.InterruptedException;必须被捕获或声明为被抛出。
在使用 or 方法之前是否需要执行任何步骤?Thread.sleep()
wait()
我试图延迟 - 或进入睡眠状态 - 我的Java程序,但发生错误。
我无法使用 或 .出现相同的错误消息:Thread.sleep(x)
wait()
unreported exception java.lang.InterruptedException;必须被捕获或声明为被抛出。
在使用 or 方法之前是否需要执行任何步骤?Thread.sleep()
wait()
你面前有很多阅读。从编译器错误到异常处理、线程和线程中断。但这将做你想要的:
try {
Thread.sleep(1000); //1000 milliseconds is one second.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
正如其他用户所说,您应该用一个块包围您的呼叫。但是自从Java 1.5发布以来,有TimeUnit类与Thread.sleep(millis)相同,但更方便。您可以选择睡眠操作的时间单位。try{...} catch{...}
try {
TimeUnit.NANOSECONDS.sleep(100);
TimeUnit.MICROSECONDS.sleep(100);
TimeUnit.MILLISECONDS.sleep(100);
TimeUnit.SECONDS.sleep(100);
TimeUnit.MINUTES.sleep(100);
TimeUnit.HOURS.sleep(100);
TimeUnit.DAYS.sleep(100);
} catch (InterruptedException e) {
//Handle exception
}
此外,它还具有其他方法:TimeUnit Oracle Documentation