Håndtering av ulike typer unntak i Python

I samme kode kan det være nødvendig å håndtere ulike typer unntak.

La oss si at vi må fange et unntak ved divisjon med null. Ved en slik feil oppstår unntaket:

errorZeroDivisionError: division by zero

For å fange det, skal unntakets navn skrives i except-blokken:

pythontry:
  print(1 / 0)
except ZeroDivisionError:
  print('feil: ikke divider på null')

La oss også si at vi har en liste:

pythonlst = [1, 2, 3]

Hvis man setter kode med en annen potensiell feil i try-blokken, for eksempel utskrift av et ikke-eksisterende element, vil unntaket som ikke blir fanget i except-blokken, fortsette videre og skrives ut i konsollen. Noe som vil stoppe kodekjøringen:

pythonlst = [1, 2, 3]
try:
  print(lst[4]) # vil vise IndexError: list index out of range
except ZeroDivisionError:
  print('feil: ikke divider på null')

For å løse en slik situasjon, må man oppgi navnet på den tilsvarende typen unntak i hver blokk. La oss legge til et unntak for manglende element i koden vår:

pythontry:
  print(lst[4])
except ZeroDivisionError:
  print('feil: ikke divider på null')
except IndexError:
  print('feil: elementet eksisterer ikke')
Задание 1

Følgende kode er gitt:

pythontxt = '2'

res1 = txt + 3
res2 = txt1

Skriv koden for å håndtere unntakene presentert i variablene res1 og res2.