Impossible d'obtenir l'exception ArrayIndexOutOfBoundsException de Future> et SwingWorker si le thread démarre Executor
SwingWorker n'expose aucun moyen d'obtenir une exception sous-jacente. Cependant, puisque SwingWorker fournit un moyen de compléter un résultat en utilisant la méthode done(), vous pouvez renvoyer l'exception ici, où elle sera interceptée par l'appelant de la méthode get() sur le Future.
// ... @Override protected void done() { if (str.equals("StartShedule")) { try { get(); } catch (InterruptedException ie) { ie.printStackTrace(); } catch (ExecutionException ee) { throw (ee).getCause(); } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!