logo

Python Zkuste kromě

Chyba v Pythonu může být dvou typů, tj. chyby syntaxe a výjimky. Chyby jsou problémy v programu, kvůli kterým program zastaví provádění. Na druhou stranu jsou výjimky vyvolány, když nastanou nějaké vnitřní události, které změní normální tok programu.
Poznámka: Další informace najdete v tématu Chyby a výjimky v Pythonu
Některé z běžných chyb výjimek jsou:

    IOError: pokud soubor nelze otevřít KeyboardInterrupt: když uživatel stiskne nevyžadovanou klávesu ValueError: když vestavěná funkce obdrží nesprávný argument EOFError: pokud je zasažen End-Of-File bez načtení jakýchkoli dat ImportError: pokud nemůže najít modul

Zkuste kromě v Pythonu

Příkaz Try and Except se používá ke zpracování těchto chyb v našem kódu v Pythonu. Blok try se používá ke kontrole chyb v nějakém kódu, tj. kód uvnitř bloku try se spustí, když v programu není žádná chyba. Zatímco kód uvnitř bloku výjimkou se spustí vždy, když program narazí na nějakou chybu v předchozím bloku try.



Syntax:

try: # Some Code except: # Executed if error in the # try block>

Jak funguje try()?

  • Za prvé, Snaž se je provedena klauzule, tj. kód mezi Snaž se.
  • Pokud neexistuje žádná výjimka, pak pouze Snaž se klauzule poběží, až na doložka je hotová.
  • Pokud dojde k nějaké výjimce, Snaž se doložka bude přeskočena a až na doložka poběží.
  • Pokud dojde k nějaké výjimce, ale až na klauzule v kódu to nezpracovává, je předána vnějšímu Snaž se prohlášení. Pokud výjimka zůstane neošetřená, provádění se zastaví.
  • A Snaž se výpis může mít více než jeden až na doložka

Kód 1: Žádná výjimka, takže Snaž se doložka poběží.



Python3






# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>2>)>

>

výměna paměti
>

Pomocný prostor: O(1)

Výstup :

Yeah ! Your answer is : 1>

Kód 1: Existuje pouze výjimka až na doložka poběží.

Python3




zednický vzorec

# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>0>)>

>

>

Výstup :

Sorry ! You are dividing by zero>

Kód 2: Jiný způsob psaní až na příkaz, je zobrazen níže a tímto způsobem přijímá pouze výjimky, které máte zachytit, nebo můžete zkontrolovat, která chyba se vyskytuje.

Python3




# code> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> Exception as e:> ># By this way we can know about the type of error occurring> >print>(>'The error is: '>,e)> > divide(>3>,>'GFG'>)> divide(>3>,>0>)>

>

>

Výstup:

The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>

Jinak klauzule

V Pythonu můžete také použít klauzuli else v bloku try-except, který musí být přítomen za všemi klauzulemi kromě. Kód vstoupí do bloku else pouze v případě, že klauzule try nevyvolá výjimku.

vymazání mezipaměti npm

Syntax:

try: # Some Code except: # Executed if error in the # try block else: # execute if no exception>

Kód:

Python3




# Program to depict else clause with try-except> > # Function which returns a/b> def> AbyB(a , b):> >try>:> >c>=> ((a>+>b)>/>/> (a>->b))> >except> ZeroDivisionError:> >print> (>'a/b result in 0'>)> >else>:> >print> (c)> > # Driver program to test above function> AbyB(>2.0>,>3.0>)> AbyB(>3.0>,>3.0>)>

>

>

Výstup:

-5.0 a/b result in 0>

Konečně klíčové slovo v Pythonu

Python poskytuje klíčové slovo nakonec, které se vždy spustí po pokusu a kromě bloků. Poslední blok se vždy provede po normálním ukončení bloku try nebo po ukončení bloku try kvůli některým výjimkám.

Syntax:

try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>

Kód:

Python3


zpracování řetězců v c++



# Python program to demonstrate finally> > # No exception Exception raised in try block> try>:> >k>=> 5>/>/>0> # raises divide by zero exception.> >print>(k)> > # handles zerodivision exception> except> ZeroDivisionError:> >print>(>'Can't divide by zero'>)> > finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)>

>

>

Výstup:

Can't divide by zero This is always executed>

Související články:

  • Výstupní otázky
  • Zpracování výjimek v Pythonu
  • Uživatelsky definované výjimky