Pythonda o'z istisno turlarini yaratish

Pythonda standart mavjud bo'lgan istisnolar har doim ham turli vaziyatlardagi barcha ehtiyojlarimizni qondira olmaydi. Shuning uchun Pythonda o'z istisno turini yaratish imkoniyati o'rnatilgan.

Istisno yaratish uchun class kalit so'zi yordamida maxsus OOP klassini e'lon qilish kerak. Undan keyin istisno nomi yoziladi, nomdan keyin qavs ichida esa istisno turi ko'rsatiladi:

pythonclass Istisno(istisno turi):
  pass

Keling, juda uzun ro'yxatlarni ushlash uchun o'zimizning ToBigLength klassimizni yarataylik. Ushbu klass qavslari ichida u ushlaydigan istisno turini yozamiz. Bu Exception istisnosi bo'lsin. Klass tarkibida hozircha pass yozish mumkin:

pythonclass ToBigLength(Exception):
  pass

Yangi yaratilgan istisnoming ishlashini tekshirib ko'raylik. Buning uchun try-except konstruktsiyasini yozamiz, va o'zimizning istisnomizni maxsus raise buyrug'i yordamida chaqiramiz:

pythontry:
  raise ToBigLength
except ToBigLength:
  print('error: list is too big')

Kod bajarilgandan keyin chiqadi:

python'error: list is too big'
Задание 1

Manfiy sonni ushlash uchun istisno yarating.

Задание 2

Nolni ushlash uchun istisno yarating.