Rumah >Java >javaTutorial >Mengapa Kod Java Saya Melemparkan Ralat 'Pengecualian; mesti ditangkap atau diisytiharkan untuk dibuang'?

Mengapa Kod Java Saya Melemparkan Ralat 'Pengecualian; mesti ditangkap atau diisytiharkan untuk dibuang'?

Barbara Streisand
Barbara Streisandasal
2024-12-24 03:24:14172semak imbas

Why Does My Java Code Throw an

Pengecualian: "Pengecualian; mesti ditangkap atau diisytiharkan untuk dibuang" semasa Menyusun Kod Java

Latar Belakang:

Apabila menghadapi ralat "Pengecualian; mesti ditangkap atau diisytiharkan untuk dibuang," ia menunjukkan bahawa pengecualian telah dibangkitkan semasa program pelaksanaan, tetapi pengaturcara belum mengendalikan atau mengisytiharkannya sebagai dibuang.

Isu:

Dalam coretan kod yang disediakan:

byte[] encrypted = cipher.doFinal(toEncrypt.getBytes());
return encrypted;

Kaedah penyulitan kehilangan pengisytiharan pengecualian dalam tandatangan kaedahnya dan gagal mengendalikan sebarang pengecualian yang mungkin berlaku dalam percubaan blok.

Penyelesaian:

Untuk menyelesaikan isu, ubah suai tandatangan kaedah penyulitan untuk mengisytiharkan pengecualian yang mungkin dilemparkan:

public static byte[] encrypt(String toEncrypt) throws Exception {
    // ... code within the try block ...
    return encrypted;
}

Selain itu , dalam kaedah actionPerformed:

public void actionPerformed(ActionEvent e) {
    // ... code ...
    try {
        byte[] encrypted = encrypt(concatURL);
        // ... code ...
    } catch (Exception exc) {
        // ... handle the exception ...
    }
}

Pastikan semua pengecualian yang diperiksa yang dilemparkan oleh kaedah dipanggil adalah dikendalikan atau disebarkan dengan membalingnya semula. Dalam kes ini, kaedah penyulitan mesti mengendalikan atau mengisytiharkan sebarang pengecualian yang mungkin dihadapinya.

Pertimbangan Tambahan:

  • Sentiasa mengisytiharkan pengecualian dalam tandatangan kaedah untuk memberikan yang jelas maklumat tentang kemungkinan pengecualian.
  • Kendalikan pengecualian dengan sewajarnya dengan menangkapnya dan mengendalikannya berdasarkan khusus keperluan.
  • Pastikan kaedah secara konsisten mengembalikan nilai atau pengecualian sebagai jenis pulangannya, walaupun dalam kes pengecualian.

Atas ialah kandungan terperinci Mengapa Kod Java Saya Melemparkan Ralat 'Pengecualian; mesti ditangkap atau diisytiharkan untuk dibuang'?. 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