Seperti yang dinyatakan dalam jawapan lain, tidak disyorkan untuk menangkap NullPointerException. Walau bagaimanapun, anda pasti dapat menangkapnya, seperti ditunjukkan contoh berikut. Walaupun NPE boleh ditangkap, anda pastinya tidak sepatutnya berbuat demikian tetapi selesaikan isu awal, iaitu kaedah Semak_Pekeliling.
Adakah NullPointerException pengecualian yang diperiksa?
Jawapan: NullPointerException bukan pengecualian yang ditandai. Ia adalah keturunan RuntimeException dan dinyahtandai.
Dalam hal yang manakah NullPointerException akan dilemparkan?
Pengecualian penuding nol dilemparkan apabila aplikasi cuba menggunakan null dalam kes di mana objek diperlukan. Ini termasuk: Memanggil kaedah contoh objek nol. Mengakses atau mengubah suai medan objek nol.
Adakah pengecualian menangkap semua pengecualian?
Memandangkan Exception ialah kelas asas bagi semua pengecualian, ia akan menangkap sebarang pengecualian.
Mengapa anda tidak sepatutnya mendapat pengecualian?
catch(Exception) ialah amalan buruk kerana ia menangkap semua RuntimeException (pengecualian tidak ditandai) juga. Ini mungkin khusus java: Kadangkala anda perlu memanggil kaedah yang membuang pengecualian yang diperiksa. Jika ini berada dalam lapisan logik EJB / perniagaan anda, anda mempunyai 2 pilihan - tangkap atau buang semula.