我是Java的新手,也是编程的新手(我知道直接进入Java可能不是最好的主意。)而且无论我如何尝试在我的插件中添加暂停,我都会遇到错误。程序。我正在做一个简单的计数程序,并希望在每个数字之间添加一秒延迟,这是我到目前为止的代码:
import java.lang.*;
public class Counter
{
public static void main(String[]args)
{
int i;
for (i = 0; i <= 10; i++)
{
Thread.sleep(1000);
System.out.println(i);
}
System.out.println("You can count to ten.");
}
}
对Thread.sleep()
的调用无法编译。 javac
编译器说,“未报告的异常InterruptedException;必须被捕获或声明被抛出”,Eclipse说,“未处理的异常类型InterruptedException”
答案 0 :(得分:56)
Thread.sleep可以抛出InterruptedException,这是一个经过检查的异常。必须捕获并处理所有已检查的异常,否则您必须声明您的方法可以抛出异常。无论是否实际抛出异常,都需要这样做。不声明您的方法可以抛出的已检查异常是编译错误。
您需要抓住它:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
// handle the exception...
// For example consider calling Thread.currentThread().interrupt(); here.
}
或声明您的方法可以抛出InterruptedException
:
public static void main(String[]args) throws InterruptedException
相关强>
答案 1 :(得分:-3)
你可以摆脱第一行。您不需要import java.lang.*;
只需将第5行更改为:
public static void main(String [] args) throws Exception