无法从 Future 获取 ArrayIndexOutOfBoundsException>如果线程启动 Executor
SwingWorker 不会公开任何获取底层异常的方法。但是,由于 SwingWorker 提供了一种使用 did() 方法完成结果的方法,因此您可以在此处重新抛出异常,该异常将被 Future 上的 get() 方法的调用者捕获。
// ... @Override protected void done() { if (str.equals("StartShedule")) { try { get(); } catch (InterruptedException ie) { ie.printStackTrace(); } catch (ExecutionException ee) { throw (ee).getCause(); } } }
以上是SwingWorker Future 抛出的异常如何处理?的详细内容。更多信息请关注PHP中文网其他相关文章!