Oman poikkeustyypin luominen Pythonissa

Pythonin oletuspoikkeukset eivät aina vastaa kaikkia tarpeitamme erilaisissa tilanteissa. Siksi Pythonissa on sisäänrakennettu mahdollisuus luoda omia poikkeustyyppejä.

Poikkeuksen luomiseksi on määriteltävä erityinen OOP-luokka avainsanalla class. Sen oikealle puolelle kirjoitetaan poikkeuksen nimi, ja nimen jälkeen pyöreissä suluissa - poikkeuksen tyyppi:

pythonclass Poikkeus(poikkeustyyppi):
  pass

Luodaan oma luokka ToBigLength liian pitkien listojen sieppaamiseen. Luokan pyöreisiin sulkuihin kirjoitetaan poikkeuksen tyyppi, jota se sieppaa. Olkoon se poikkeus Exception. Luokan runkoon voi toistaiseksi kirjoittaa pass:

pythonclass ToBigLength(Exception):
  pass

Testataan juuri luodun poikkeuksen toimintaa. Tätä varten kirjoitetaan rakenne try-except, ja poikkeus heitetään erityiskomennolla raise:

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

Koodin suorituksen jälkeen tulostuu:

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

Luo poikkeus negatiivisen luvun sieppaamiseen.

Задание 2

Luo poikkeus nollan sieppaamiseen.