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:
class 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:
class ToBigLength(Exception):
pass
Testataan juuri luodun poikkeuksen toimintaa.
Tätä varten kirjoitetaan rakenne
try-except, ja poikkeus
heitetään erityiskomennolla raise:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
Koodin suorituksen jälkeen tulostuu:
'error: list is too big'
Luo poikkeus negatiivisen luvun sieppaamiseen.
Luo poikkeus nollan sieppaamiseen.