Adakah amalan yang baik untuk menangkap RuntimeException?
Adakah amalan yang baik untuk menangkap RuntimeException?

Video: Adakah amalan yang baik untuk menangkap RuntimeException?

Video: Adakah amalan yang baik untuk menangkap RuntimeException?
Video: Как писать аспекты с помощью Spring AOP [Путь к Spring AOP — Часть 1] 2024, Mungkin
Anonim

selimut- menangkap segala-galanya - sama ada Exception atau Throwable, yang jauh lebih teruk - bukanlah a latihan yang baik kerana anda mengandaikan bahawa anda boleh pulih daripada sebarang tingkah laku yang luar biasa. Selain: Ya, tangkap Pengecualian juga akan tangkap RuntimeException , memandangkan Exception ialah superclass bagi RuntimeException.

Begitu juga, anda mungkin bertanya, adakah amalan yang baik untuk menangkap RuntimeException?

selimut- menangkap segala-galanya - sama ada Exception atau Throwable, yang jauh lebih teruk - bukanlah a latihan yang baik kerana anda mengandaikan bahawa anda boleh pulih daripada sebarang tingkah laku yang luar biasa. Selain: Ya, tangkap Pengecualian juga akan tangkap RuntimeException , memandangkan Exception ialah superclass bagi RuntimeException.

Seseorang juga mungkin bertanya, adakah amalan yang baik untuk menangkap NullPointerException? Ia secara amnya adalah buruk berlatih untuk menangkap NullPointerException . Pengaturcara biasanya tangkap NullPointerException di bawah tiga keadaan: Program ini mengandungi penolakan penunjuk nol. Menangkap pengecualian yang terhasil adalah lebih mudah daripada membetulkan masalah asas.

Seterusnya, persoalannya, bolehkah kita menangkap RuntimeException?

Pengecualian masa jalan boleh berlaku di mana-mana dalam program, dan dalam tipikal satu mereka boleh menjadi sangat ramai. Oleh itu, penyusun tidak tidak memerlukan itu awak tangkap atau tentukan pengecualian masa jalan (walaupun awak boleh ). satu kes yang menjadi amalan biasa untuk membuang a RuntimeException ialah apabila pengguna memanggil kaedah secara salah.

Apakah RuntimeException?

RuntimeException ialah kelas super bagi pengecualian tersebut yang boleh dilemparkan semasa operasi biasa Mesin Maya Java. Kaedah tidak diperlukan untuk mengisytiharkan dalam klausa lontarannya mana-mana subkelas RuntimeException yang mungkin dilemparkan semasa pelaksanaan kaedah tetapi tidak ditangkap.

Disyorkan: