2016-02-29 110 views
-1

我想火test()方法(使用从JAudioTagger库元素)点击一个JavaFX按钮时:为什么我得到这个未处理的异常错误?

search.setOnAction(new EventHandler<ActionEvent>() { 
    public void handle(ActionEvent e) { 
     test(); 
    } 
}); 

这里是test()方法:

public void test() throws CannotReadException, IOException, TagException, ReadOnlyFileException, InvalidAudioFrameException { 
    ... 
} 

出于某种原因Eclipse强调了在第一位代码中对test()的引用,并指出

Unhandled exception type InvalidAudioFrameException 

即使t他的例外已经在test()方法中处理过了?我不明白。

+1

我不知道为什么人们回答了一个问题,这个问题以前显然被问过数十亿次。 –

+0

[选择重复问题](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=unhandled+exception+type+java+site:http :%2F%2Fstackoverflow.com%2F) –

回答

0

您的测试方法“声明”会引发异常。 如果您在throws子句中声明它,方法的调用方必须准备好捕获它或将其添加到它的throws子句中。

+0

我试着在handle()方法的子句中添加必要的异常,但是它表示异常与EventHandler中的throws子句不兼容 .handle(ActionEvent) – user6000020

+0

@ user6000020 :然后在try catch块中处理。你只需发布这个问题,上面的评论就是告诉我们你没有阅读关于如何处理异常的教程的必要步骤。请尽快解决。 –

相关问题