Adakah terdapat sebarang cara untuk membuang pengecualian yang diperiksa daripada kaedah yang tidak mempunyai klausa lontaran?
Adakah terdapat sebarang cara untuk membuang pengecualian yang diperiksa daripada kaedah yang tidak mempunyai klausa lontaran?

Video: Adakah terdapat sebarang cara untuk membuang pengecualian yang diperiksa daripada kaedah yang tidak mempunyai klausa lontaran?

Video: Adakah terdapat sebarang cara untuk membuang pengecualian yang diperiksa daripada kaedah yang tidak mempunyai klausa lontaran?
Video: По следам древней цивилизации? 🗿 Что, если мы ошиблись в своем прошлом? 2024, April
Anonim

9 Jawapan. awak boleh membuang tidak ditanda pengecualian tanpa perlu mengisytiharkannya jika anda benar-benar mahu. Nyahtanda pengecualian lanjutkan RuntimeException. Baling yang memanjangkan Ralat adalah juga tidak disemak, tetapi sepatutnya hanya digunakan untuk isu yang benar-benar serius (seperti bytecode tidak sah).

Ringkasnya, bolehkah kita membuang pengecualian yang diperiksa?

Tetapi kalau kita buang a pengecualian diperiksa menggunakan melontar kenyataan, kita MESTI sama ada mengendalikan pengecualian dalam blok tangkapan atau kaedah secara eksplisit mengisytiharkannya menggunakan membaling pengisytiharan. Di Java, setiap subkelas Ralat dan RuntimeException tidak ditandakan pengecualian . A pengecualian diperiksa adalah segala-galanya di bawah kelas Throwable.

Tambahan pula, bolehkah kita membuang pengecualian tanpa lontaran? Anda boleh membuang tidak ditanda pengecualian tanpa perlu mengisytiharkan mereka jika awak sangat mahukan. Nyahtanda pengecualian lanjutkan RuntimeException. Throwable yang memanjangkan Ralat juga dinyahtandai, tetapi hanya boleh digunakan untuk isu yang benar-benar serius (seperti bytecode tidak sah).

Tambahan pula, apa yang berlaku apabila anda membuang pengecualian yang diperiksa daripada kaedah?

Pengecualian diperiksa adalah diperiksa pada masa penyusunan. Maksudnya jika a kaedah ialah melontar pengecualian yang diperiksa kemudian ia sepatutnya mengendalikan pengecualian menggunakan blok cuba-tangkap atau ia sepatutnya mengisytiharkan pengecualian menggunakan membaling kata kunci, jika tidak program akan memberikan ralat penyusunan.

Kata kunci yang manakah mesti digunakan dalam pengepala kaedah untuk kaedah yang mungkin membuang pengecualian yang diperiksa jika pengecualian tidak dikendalikan dalam kaedah?

The melontar kata kunci di Jawa ialah digunakan secara eksplisit melontar an pengecualian dari kaedah atau mana-mana blok daripada kod. Kami boleh membuang sama ada diperiksa atau tidak ditanda pengecualian.

Disyorkan: