我遇到了一个奇怪的问题。由于在 GUI 中按下按钮,我需要将一些文本导出到文件中。但是,我无法将 IOException 应用于事件调用的 AbstractAction 的 actionPerformed 方法。我不知道如何解决这个问题。
这是导出类:
import java.awt.event.*;
import java.lang.*;
import java.util.*;
import java.io.*;
public class ExportRunner
{
public static void exportToFile(ArrayList<Locker> list) throws IOException
{
}
}
和 AbstractAction 扩展:
class Export extends AbstractAction
{
public Export()
{
super("Export");
}
public void actionPerformed(ActionEvent e)
{
ExportRunner.exportToFile(list);
}
}
最佳答案
首先,您确定要重新抛出异常还是更好地处理它和/或向用户显示消息?
选项 1:重新抛出异常(在我看来很丑陋):
public void actionPerformed(ActionEvent e) {
try{
ExportRunner.exportToFile(list);
} catch(IOException ioex) {
throw new RuntimeException(ioex);
}
}
选项 2:捕获并处理它:
public void actionPerformed(ActionEvent e) {
try{
ExportRunner.exportToFile(list);
} catch(IOException ioex) {
handleItOrShowMessageToUser(ioex);
}
}
关于java - 不能在 AbstractAction 中使用 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353160/