Adakah saya perlu menggunakan sneakythrows?

Isi kandungan:

Adakah saya perlu menggunakan sneakythrows?
Adakah saya perlu menggunakan sneakythrows?
Anonim

@SneakyThrows boleh digunakan untuk secara senyap-senyap membuang pengecualian yang telah ditanda tanpa benar-benar mengisytiharkan ini dalam klausa lontaran kaedah anda. Keupayaan yang agak dipertikaikan ini harus digunakan dengan berhati-hati, sudah tentu.

Bagaimanakah anda mengendalikan pengecualian tanpa membaling?

Cuma gunakan cuba tangkap blok dan teruskan, jika pengecualian tidak penting dan tidak mempengaruhi sebarang gelagat program anda. Anda boleh mengelak daripada menangkap pengecualian, tetapi jika terdapat pengecualian yang dilemparkan dan anda tidak menangkapnya program anda akan menghentikan pelaksanaan (crash). Tiada cara untuk mengabaikan pengecualian.

Apakah pengecualian yang ditandakan?

Pengecualian yang ditandakan ialah jenis pengecualian yang mesti sama ada ditangkap atau diisytiharkan dalam kaedah ia dilemparkan. Contohnya, java.io. IOException ialah pengecualian yang diperiksa.

Apakah perbezaan antara pengecualian yang ditanda dan tidak ditanda?

1) Ditandai: adalah pengecualian yang disemak pada masa penyusunan. Jika sesetengah kod dalam kaedah membuang pengecualian yang diperiksa, maka kaedah itu mesti sama ada mengendalikan pengecualian atau ia mesti menentukan pengecualian menggunakan kata kunci lontaran. … 2) Nyahtanda ialah pengecualian yang tidak disemak pada masa disusun.

Adakah pengecualian masa jalan merupakan subkelas pengecualian?

RuntimeException ialah kelas super bagi pengecualian tersebut yang boleh dilemparkan semasa operasi biasa Mesin Maya Java. RuntimeException dan subkelasnya ialahpengecualian tidak ditandai.

Disyorkan: