Håndtering av unntak i Python

I Python sammenlignet med andre programmeringsspråk forekommer det svært mange situasjoner som forårsaker unntak.

La oss se nærmere på dem. La oss si at vi har en liste:

pythonlst = [1, 2, 3]

La oss prøve å få tilgang til et element i listen som ikke eksisterer:

pythonprint(lts[4])

Etter at koden kjøres vil en feilmelding (unntak) vises:

errorIndexError: list index out of range

Hvis vi derimot trenger å fortsette arbeidet uten å vise unntaket, bør det fanges opp med try-except-konstruksjonen. Den har følgende syntaks:

pythontry:
  # kode som kan forårsake unntak
except:
  # feilhåndtering

I try-blokken skal du plassere kode som kan inneholde unntak. Hvis det under utførelsen av denne koden oppstår en unntakssituasjon, vil ikke kjøringen stoppe, men i stedet gå til koden i except-blokken. I denne blokken bør du skrive inn en melding som beskriver essensen av feilen som oppstod så nøyaktig som mulig.

Hvis det under utførelsen av try-blokken ikke oppstår noen unntakssituasjoner, vil bare den nyttige koden kjøre, mens koden fra except-blokken ikke vil kjøre.

La oss fange unntaket som oppstår når vi prøver å få tilgang til et element i listen som ikke eksisterer. For å gjøre dette, plasserer vi koden med potensiell feil i try-blokken. Og i except-blokken angir vi utskrift til konsollen av meldingen 'error: elem is not exist':

pythonlst = [1, 2, 3]
try:
  print(lst[4])
except:
  print('error: elem is not exist')

Etter at koden kjøres vil følgende vises:

python'error: elem is not exist'

Etter å ha studert try-except-konstruksjonen bør stilen i koden du skriver endres. Fra nå av bør alle steder hvor det kan oppstå en unntakssituasjon, pakkes inn i try, og i except-blokken skrive reaksjonen på dette unntaket.

Задание 1

Spør brukeren om to tall. Del det ene på det andre. Fång unntakssituasjonen divisjon med null.

Задание 2

Spør brukeren om et tall. Finn kvadratroten av dette tallet. Fång unntakssituasjonen med å trekke ut roten av et negativt tall.

Задание 3

Gitt en liste. Spør brukeren om et heltall. Hent elementet i listen med det nummeret som brukeren skrev inn. Fång unntakssituasjonen som vil oppstå hvis brukeren skrev inn et tall utenfor listenes rekkevidde.

Задание 4

Gitt følgende kode:

pythonnum = '5'
res = num + 2

print(res)

Hva er galt med denne koden? Rett opp dens mangler.

Задание 5

Gitt følgende kode:

pythonlst = [1, 2, 3, 4]

def getElem(iter):
  print(iter[4])

getElem(lst)

Hva er galt med denne koden? Rett opp dens mangler.