a = 0 da ishlash natijasida ArithmeticException tashlanadi va uni boshqarish uchun tegishli try bloki catch hisoblanadi. istisno qilingan joydan tashqarida. Ushbu blok yuzaga kelgan istisnoni boshqarish uchun ishlatiladi.
bayonot tashlash
bayonot tashlash istisno qilish uchun ishlatiladi. Buning uchun Throwable sinfining ob'ektidan foydalanish mumkin . yoki uning kichik sinfining ob'ekti, shuningdek ularga havolalar. Throw gapning umumiy shakli : otish ob'ekt TpgoMaIe;
Ushbu bayonotga erishilganda, kod bajarilishi to'xtaydi. eng yaqin sinash bloki mos keladigan catch ishlovchi uchun tekshiriladi . Agar u mavjud bo'lsa, boshqaruv unga o'tkaziladi, aks holda keyingi o'rnatilgan try iborasi tekshiriladi .
throw bayonoti yaratilgan misol keltirilgan catch bo'limida ishlov berilgan istisnoni chiqaradi , unda boshqa istisno tashlanadi.
/* № 9.3 misol : avlod istisnolar : ThrowGeneration.java */ umumiy sinf ThrowGeneration {
statik void throwGen() {
harakat qilib ko'ring {
yangi ClassCastException (" demo "); } catch (ClassCastException e) { System.out.println(
throwGen () usuli ichidagi istisno "); tashlash e;//boshqa istisnoni tashlang }
}
public static void main(String[] args) { sinash {
throwGen();
} catch (ClassCastException e) {
System.out.print (" ishlov berish istisnolar tashqarida usul : "+e);
}
ThrowGen () deb ataladigan usul ClassCastException sinfining ob'ektini tashlaydi va ishlov beruvchi tomonidan ushlangan istisnoni tashlaydi. Ishlovchi kodi istisno qilinganligi haqida xabar beradi va keyin uni qayta ishga tushiradi, bu esa tekshirilmagan ClassCastException RuntimeException pastki klassi sifatida asosiy () usulida istisno ishlov beruvchisiga o'tkazilishiga olib keladi , aks holda kompilyator istisnoni qayta ishlashni talab qiladi. usuli yoki throws bayonotlari bilan tashlangan .
Do'stlaringiz bilan baham: |