Boshqa javobda aytilganidek, NullPointerException ni ushlash tavsiya etilmaydi. Biroq, quyidagi misolda ko'rsatilganidek, siz buni aniq ushlashingiz mumkin. Agar NPE qo'lga olinishi mumkin bo'lsa-da, siz buni qilmasligingiz kerak, lekin dastlabki muammoni, ya'ni Check_Circular usulini tuzating.
NulPointerException belgilangan istisnomi?
Javob: NullPointerException belgilangan istisno emas. Bu RuntimeException avlodidir va belgilanmagan.
Qaysi holatda NullPointerException tashlanadi?
Ilova ob'ekt talab qilinadigan holatda null dan foydalanishga harakat qilganda null ko'rsatkichi istisno qilinadi. Bunga quyidagilar kiradi: null ob'ektning misol usulini chaqirish. Null ob'ekt maydoniga kirish yoki o'zgartirish.
Istisno barcha istisnolarni qamrab oladimi?
Exception barcha istisnolarning asosiy klassi boʻlgani uchun u har qanday istisnolarni ushlaydi.
Nega istisno qilmaslik kerak?
catch(Exception) bu yomon amaliyot, chunki u barcha RuntimeException (belgilanmagan istisno)ni hamushlaydi. Bu java-ga xos bo'lishi mumkin: Ba'zan siz tekshirilgan istisnolarni tashlaydigan usullarni chaqirishingiz kerak bo'ladi. Agar bu sizning EJB/biznes mantiqiy qatlamingizda boʻlsa, sizda 2 ta variant bor – ularni qoʻlga oling yoki qaytadan tashlang.