|
Types of Exceptions(istisnolar turlari)
|
bet | 6/7 | Sana | 26.11.2023 | Hajmi | 0,52 Mb. | | #105710 |
Bog'liq Types of Exceptions Bu Java dasturi `AccountBalanceException` nomli istisno (exception) klassini tashkil etadi. Bu klass, `Exception` klassidan miras olgan (extends) va qo'shimcha ma'lumotlarni saqlash uchun bir nechta konstruktorlarni o'z ichiga olgan. 1. `AccountBalanceException` klassi, `Exception` sinfini miras oladi (`extends Exception`), shuningdek uning ichida `accountBalance` nomli o'ziga xos `float` turidagi maydon mavjud. 2. Birinchi konstruktor (`public AccountBalanceException(float balance)`) faqat `accountBalance` maydonini o'zlashtirib, ularni `super()` metodi orqali Exception sinfini chaqiradi. 3. Ikkinchi konstruktor (`public AccountBalanceException(String message)`) esa xabar bilan chaqiradi va unda `super(message)` metodi ishlatilgan. 4. `getAccountBalance` metod orqali `accountBalance` maydonining qiymatini qaytaradi.
Hech bo'lmaganda, siz Throwable subklassini yoki uning pastki sinflaridan birini olishingiz kerak. Ko'pincha, siz 6-12-qatorlarda ko'rsatilganidek, ob'ektdagi xato xabari kabi ma'lumotlarni saqlash uchun bir yoki bir nechta konstruktorlarni aniqlaysiz. Bizning istisnolar sinfimiz AccountBalanceException ikkita konstruktorga ega. Bittasi String argumentiga ega, ikkinchisi esa float argumentiga ega. Har qanday istisnoni pastki sinfga ajratganingizda, siz avtomatik ravishda Throwable sinfidan ba'zi standart xususiyatlarni meros qilib olasiz, masalan:
Xato xabari
Stack izi
Istisno o'rash
Istisno ishlab chiqarish usulingiz sizning maxsus istisnolaringizni keltirib chiqarishini e'lon qiling
throws kalit so'zidan foydalanib, biz istisno ishlab chiqarish bo'lishi mumkin bo'lgan usulni e'lon qilishimiz mumkin. Maxsus istisnodan foydalanish uchun siz kodingizni chaqiradigan sinflarni ko'rsatishingiz kerak, ular ushbu yangi istisno turini rejalashtirishlari kerak. Siz buni bir yoki bir nechta usullaringiz istisno qilishini e'lon qilish orqali qilasiz. Quyida hisob balansini boshqarish uchun kod mavjud. AccountManagement sinfida main() usuli va ikkita yordamchi usul addAmount() va createFixDeposit() mavjud. Bu yerda biz joriy Balansni Rs deb qabul qilamiz. 15000. Agar hisob balansi Rs dan oshsa. 20000, 20 000 dan yuqori summa depozitga o'tkaziladi.
|
| |