java - 不能在 AbstractAction 中使用 IOException

标签 java swing export ioexception

我遇到了一个奇怪的问题。由于在 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/

相关文章:

highcharts - 如何解决 "mixed active content"highcharts 导出错误?

java - 创建表示一组常量字符串的简单 Java 枚举的最佳方法是什么

java - ArrayList retainAll 让我困惑

java - 在未修饰的 JFrame 上仅显示关闭按钮

Java RMI - UnicastRemoteObject : what is the difference between UnicastRemoteObject. exportObject() 并扩展 UnicastRemoteObject?

flash - 将所有内容导出到swf?

java - 如何在我的应用程序中散列密码

java - Google 集合不同谓词

java - 如何在执行一个 Action 的同时执行另一个 Action ?

java - 禁用 JMenuItem 后 KeyStroke 加速器不工作