首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java TimeUnit错误

Java TimeUnit错误
EN

Stack Overflow用户
提问于 2015-04-24 11:54:44
回答 2查看 3K关注 0票数 0

我想用Numberfield和一个按钮做一个Java程序。当您单击它等待的按钮时,放入Numberfield.The整数中的时间可以正常工作,但该函数不起作用。

以下是代码:

代码语言:javascript
复制
public void jButton1_ActionPerformed(ActionEvent evt) {
    sekunden = Integer.parseInt(jNumberField3.getText()); 
    minuten = Integer.parseInt(jNumberField2.getText());
    stunden = Integer.parseInt(jNumberField1.getText());
    zeit = sekunden + minuten*60 + stunden*60*60;//berechnet die zeit in sekunden
    TimeUnit.SECONDS.sleep(zeit);//here is the error
    System.out.println("zeit");
} // end of jButton1_ActionPerformed

错误消息如下所示:

代码语言:javascript
复制
ES.java:78:27: error: unreported exception InterruptedException; must be caught or declared to be thrown TimeUnit.SECONDS.sleep(zeit);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-24 12:01:45

方法调用TimeUnit.SECONDS.sleep(zeit)抛出一个必须捕获的InterruptedException

代码语言:javascript
复制
public void jButton1_ActionPerformed(ActionEvent evt) {
   try {
    sekunden = Integer.parseInt(jNumberField3.getText()); 
    minuten = Integer.parseInt(jNumberField2.getText());
    stunden = Integer.parseInt(jNumberField1.getText());
    zeit = sekunden + minuten*60 + stunden*60*60;//berechnet die zeit in sekunden
    TimeUnit.SECONDS.sleep(zeit);//here is the error
    System.out.println("zeit");
    }catch (InterruptedException e){
      //handle the exception
   }
}
票数 1
EN

Stack Overflow用户

发布于 2015-04-24 12:02:26

您需要处理调用sleep()时可能发生的潜在sleep()。这就是为什么您的代码会出现编译错误。

请查看捕获和处理异常 on JavaDocs,了解有关异常处理的更多细节。

在您的情况下,您可以通过处理异常很容易地解决这个问题,例如:

代码语言:javascript
复制
public void jButton1_ActionPerformed(ActionEvent evt) {
    sekunden = Integer.parseInt(jNumberField3.getText()); 
    minuten = Integer.parseInt(jNumberField2.getText());
    stunden = Integer.parseInt(jNumberField1.getText());
    zeit = sekunden + minuten*60 + stunden*60*60;//berechnet die zeit in sekunden
    try {
        // tries to call sleep
        TimeUnit.SECONDS.sleep(zeit);//here is the error
    } catch (InterruptedException e) {
        // handles any possible exception during the call to "sleep()"
        e.printStackTrace(); // prints the exception stack trace to the console
    }
    System.out.println("zeit");
} // end of jButton1_ActionPerformed

在异常处理中,一些很好的参考如下:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29846893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档