Heim >Java >javaLernprogramm >Wie gehe ich mit von SwingWorker's Future ausgelösten Ausnahmen um?

Wie gehe ich mit von SwingWorker's Future ausgelösten Ausnahmen um?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-28 22:12:11444Durchsuche

How to Handle Exceptions Thrown by SwingWorker's Future?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn