⊗pyPmExcDTC 77 of 129 menu

Att fånga olika typer av undantag i Python

I samma kod kan det behövas fånga olika typer av undantag.

Låt oss säga att vi behöver fånga ett undantag vid division med noll. Vid denna typ av fel uppstår undantaget:

ZeroDivisionError: division by zero

För att fånga det ska undantagets namn skrivas i except-blocket:

try: print(1 / 0) except ZeroDivisionError: print('error: do not divide by zero')

Låt oss också säga att vi har en lista:

lst = [1, 2, 3]

Om man i try-blocket skriver kod med ett annat potentiellt fel, till exempel utskrift av ett icke-existerande element, så kommer undantaget, som inte fångas i except-blocket, att passera vidare och skrivas ut i konsolen. Vilket kommer att stoppa kodens exekvering:

lst = [1, 2, 3] try: print(lst[4]) # kommer att ge IndexError: list index out of range except ZeroDivisionError: print('error: do not divide by zero')

För att lösa denna situation måste man ange i varje block namnet på motsvarande typ av undantag. Låt oss lägga till ett undantag för ett saknat element i vår kod:

try: print(lst[4]) except ZeroDivisionError: print('error: do not divide by zero') except IndexError: print('error: elem does not exist')

Följande kod ges:

txt = '2' res1 = txt + 3 res2 = txt1

Skriv kod för att fånga de undantag som finns i variablerna res1 och res2.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa