⊗pyPmExcDTC 77 of 129 menu

Eri poikkeustyyppien sieppaaminen Pythonissa

Samassa koodissa voi olla tarpeen siepata erityyppisiä poikkeuksia.

Oletetaan, että meidän täytyy siepata poikkeus nollalla jaettaessa. Tällaisessa virhetilanteessa tulee poikkeus:

ZeroDivisionError: division by zero

Siepataksesi sen, poikkeuksen nimi tulee kirjoittaa except-lohkoon:

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

Oletetaan myös, että meillä on lista:

lst = [1, 2, 3]

Jos asetat try-lohkoon koodia, jossa on toisenlainen mahdollinen virhe, esimerkiksi olemattoman elementin tulostamisen, poikkeus, jota ei siepata except-lohkossa, etene eteenpäin ja tulostuu konsoliin. Tämän vuoksi koodin suoritus pysähtyy:

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

Ratkaistaksesi tällaisen tilanteen, sinun tulee määrittää jokaiselle lohkolle vastaavan tyyppisen poikkeuksen nimi. Lisätään koodiimme poikkeus puuttuvalle elementille:

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

Annettuna on seuraava koodi:

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

Kirjoita koodi, joka sieppaa muuttujissa res1 ja res2 esiintyvät poikkeukset.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää