Pengkompil untuk bahasa pengaturcaraan Java menyemak, pada masa penyusunan, bahawa program mengandungi pengendali untuk pengecualian yang diperiksa, dengan menganalisis pengecualian yang disemak yang boleh terhasil daripada pelaksanaan kaedah atau pembina. Untuk setiap pengecualian yang diperiksa yang merupakan hasil yang mungkin, klausa lontaran untuk kaedah tersebut (§8.4.
Bagaimanakah pengkompil mengetahui jenis pengecualian yang sedang berlaku?
Apabila pengecualian berlaku dalam program anda, blok tangkapan diperiksa secara berurutan dari atas ke bawah untuk mencari padanan antara jenis pengecualian yang berlaku dan jenis pengecualian yang blok tangkapan sedang dikendalikan.
Bagaimanakah pengecualian yang disemak disemak pada masa penyusunan?
2 Jawapan. Pengecualian yang diperiksa disemak pada masa penyusunan untuk memastikan anda mengendalikannya, sama ada dengan menangkapnya atau mengisytiharkan kaedah yang mengandungi membuang pengecualian Pada masa jalan, tiada perbezaan antara pengecualian yang ditanda dan tidak ditanda: ia dilayan secara sama oleh JVM.
Bagaimanakah saya boleh mencari pengecualian yang disemak?
- checked exception disemak oleh pengkompil dan sebagai pengaturcara anda perlu mengendalikannya menggunakan try-catch-finally, throws.
- pengecualian tidak ditandai tidak disemak oleh pengkompil tetapi anda boleh mengurusnya secara eksplisit.
Bolehkah pengecualian yang ditandakan dapat ditangkap?
3 Jawapan. Pengecualian yang tidak ditandai ialah pengecualian yang tidak perlu ditangkap dalam blok percubaan - tangkapan. Pengecualian yang tidak ditandai ialah subkelas bagi kelas RuntimeException atau Ralat. Pengecualian yang diperiksa ialah pengecualian yang perlu ditangkap dalam percubaan - blok tangkap.