Pertama sekali, anda mesti tahu bahawa dalam java 一切皆是对象, pengecualian sudah tentu objek. Seterusnya, anda perlu tahu bahawa pengecualian terbahagi kepada 受检查异常 dan 运行时异常 (terima kasih kepada @波福目 atas peringatan itu). Mekanisme pengendalian pengecualian yang anda bicarakan harus diperiksa pengecualian yang disemak boleh dikendalikan oleh mekanisme pengendalian pengecualian Java kerana semuanya melaksanakan antara muka Throwable.
tangkap ialah bahagian logik yang betul dan lengkap. Oleh kerana pengecualian yang ditangkap mungkin menjejaskan tindakan seterusnya kaedah anda. Sebagai contoh, semasa membuka fail, anda perlu memastikan fail tersebut dibuka supaya anda boleh membaca dan menulis maklumat. Mengambil pengecualian akan membolehkan anda mengesahkan jika fail tidak dibuka, mengapa dan perkara yang perlu anda lakukan seterusnya. Buat fail baharu? Atau hanya kembali tanpa membaca atau menulis maklumat?
Akhir sekali, jika anda ingin memahami mekanisme pengendalian pengecualian, anda masih perlu membaca buku ajaib ini 《java编程思想》.
Pertama sekali, anda mesti tahu bahawa dalam java
一切皆是对象
, pengecualian sudah tentu objek.Seterusnya, anda perlu tahu bahawa pengecualian terbahagi kepada
受检查异常
dan运行时异常
(terima kasih kepada @波福目 atas peringatan itu).Mekanisme pengendalian pengecualian yang anda bicarakan harus diperiksa pengecualian yang disemak boleh dikendalikan oleh mekanisme pengendalian pengecualian Java kerana semuanya melaksanakan antara muka
Throwable
.tangkap ialah bahagian logik yang betul dan lengkap.
Oleh kerana pengecualian yang ditangkap mungkin menjejaskan tindakan seterusnya kaedah anda.
Sebagai contoh, semasa membuka fail, anda perlu memastikan fail tersebut dibuka supaya anda boleh membaca dan menulis maklumat.
Mengambil pengecualian akan membolehkan anda mengesahkan jika fail tidak dibuka, mengapa dan perkara yang perlu anda lakukan seterusnya. Buat fail baharu? Atau hanya kembali tanpa membaca atau menulis maklumat?
Akhir sekali, jika anda ingin memahami mekanisme pengendalian pengecualian, anda masih perlu membaca buku ajaib ini
《java编程思想》
.不受检查异常
yang dinyatakan di atas hendaklah dipanggil运行时异常
untuk pemahaman yang lebih baik. Baiklah, mari kita jawab soalan, satu persatu.Ya.
Sudah tentu. Dan
finally
juga merupakan bahagian penting dalam logik keseluruhan.Lihat salah satu artikel saya, yang menerangkan anomali dengan agak terperinci.