Heim >Java >javaLernprogramm >Wie gehe ich mit von SwingWorker's Future ausgelösten Ausnahmen um?
ArrayIndexOutOfBoundsException kann nicht von Future abgerufen werden> und SwingWorker, wenn der Thread Executor startet
SwingWorker bietet keine Möglichkeit, eine zugrunde liegende Ausnahme zu erhalten. Da SwingWorker jedoch eine Möglichkeit bietet, mithilfe der done()-Methode ein Ergebnis zu vervollständigen, können Sie die Ausnahme hier erneut auslösen, wo sie vom Aufrufer der get()-Methode im Future abgefangen wird.
// ... @Override protected void done() { if (str.equals("StartShedule")) { try { get(); } catch (InterruptedException ie) { ie.printStackTrace(); } catch (ExecutionException ee) { throw (ee).getCause(); } } }
Das obige ist der detaillierte Inhalt vonWie gehe ich mit von SwingWorker's Future ausgelösten Ausnahmen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!