ホームページ >Java >&#&チュートリアル >SwingWorker の将来によってスローされた例外を処理する方法?

SwingWorker の将来によってスローされた例外を処理する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 22:12:11421ブラウズ

How to Handle Exceptions Thrown by SwingWorker's Future?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。