Future から ArrayIndexOutOfBoundsException を取得できません>スレッドが Executor
を開始する場合、SwingWorker は基になる例外を取得する方法を公開しません。ただし、SwingWorker には、done() メソッドを使用して結果を完了する方法が用意されているため、ここで例外を再スローできます。例外は、Future の get() メソッドの呼び出し元によってキャッチされます。
// ... @Override protected void done() { if (str.equals("StartShedule")) { try { get(); } catch (InterruptedException ie) { ie.printStackTrace(); } catch (ExecutionException ee) { throw (ee).getCause(); } } }
以上がSwingWorker の将来によってスローされた例外を処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。