Rumah >Java >javaTutorial >Bagaimana Mengendalikan Pengecualian yang Dilemparkan oleh Masa Depan SwingWorker?

Bagaimana Mengendalikan Pengecualian yang Dilemparkan oleh Masa Depan SwingWorker?

Patricia Arquette
Patricia Arquetteasal
2024-12-28 22:12:11421semak imbas

How to Handle Exceptions Thrown by SwingWorker's Future?

Tidak boleh mendapatkan ArrayIndexOutOfBoundsException daripada Future dan SwingWorker if thread starts Executor

SwingWorker tidak mendedahkan sebarang cara untuk mendapatkan pengecualian asas. Walau bagaimanapun, memandangkan SwingWorker menyediakan cara untuk melengkapkan dengan hasil menggunakan kaedah done(), anda boleh membuang semula pengecualian di sini, di mana ia akan ditangkap oleh pemanggil kaedah get() pada Masa Depan.

// ...

@Override
protected void done() {
    if (str.equals("StartShedule")) {
        try {
            get();
        } catch (InterruptedException ie) {
            ie.printStackTrace();
        } catch (ExecutionException ee) {
            throw (ee).getCause();
        }
    }
}

Atas ialah kandungan terperinci Bagaimana Mengendalikan Pengecualian yang Dilemparkan oleh Masa Depan SwingWorker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn