logo

Python Skús okrem

Chyba v Pythone môže byť dvoch typov, t. j. chyby syntaxe a výnimky. Chyby sú problémy v programe, kvôli ktorým program zastaví vykonávanie. Na druhej strane sa vyskytnú výnimky, keď nastanú nejaké interné udalosti, ktoré zmenia normálny tok programu.
Poznámka: Ďalšie informácie nájdete v časti Chyby a výnimky v Pythone
Niektoré z bežných chýb výnimiek sú:

    IOError: ak sa súbor nedá otvoriť KeyboardInterrupt: keď používateľ stlačí nevyžiadanú klávesu ValueError: keď vstavaná funkcia dostane nesprávny argument EOFError: ak sa zasiahne End-Of-File bez načítania akýchkoľvek údajov ImportError: ak nemôže nájsť modul

Skúste okrem v Pythone

Príkaz Try and Except sa používa na spracovanie týchto chýb v našom kóde v Pythone. Blok try sa používa na kontrolu chýb v nejakom kóde, t. j. kód v bloku try sa spustí, keď v programe nie je žiadna chyba. Zatiaľ čo kód v bloku okrem sa spustí vždy, keď program narazí na nejakú chybu v predchádzajúcom bloku try.



Syntax:

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

Ako funguje try()?

  • Po prvé, skúste vykoná sa klauzula, t.j. kód medzi skúste.
  • Ak neexistuje žiadna výnimka, potom iba skúste doložka bude platiť, okrem doložka je dokončená.
  • Ak sa vyskytne nejaká výnimka, skúste doložka sa preskočí a okrem doložka bude plynúť.
  • Ak sa vyskytne nejaká výnimka, ale okrem klauzula v kóde sa tým nezaoberá, prenáša sa na vonkajšie skúste Vyhlásenia. Ak výnimka zostane neošetrená, vykonávanie sa zastaví.
  • A skúste výpis môže mať viac ako jeden okrem doložka

Kód 1: Žiadna výnimka, takže skúste doložka bude plynúť.



Python3


zložený kľúč primárneho kľúča





# 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>)>

>

>

Pomocný priestor: O(1)

Výkon :

Yeah ! Your answer is : 1>

Kód 1: Existuje iba výnimka okrem doložka bude plynúť.

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>,>0>)>

>

>

Výkon :

Sorry ! You are dividing by zero>

Kód 2: Iný spôsob písania okrem vyhlásenie, je zobrazené nižšie a týmto spôsobom akceptuje iba výnimky, ktoré máte zachytiť, alebo môžete skontrolovať, ktorá chyba sa 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>)>

>

ako skontrolovať veľkosť obrazovky monitora
>

Výkon:

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

Inak doložka

V Pythone môžete použiť aj klauzulu else v bloku try-except, ktorý musí byť prítomný po všetkých klauzulách okrem. Kód vstupuje do bloku else iba vtedy, ak klauzula try nevyvoláva výnimku.

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ýkon:

-5.0 a/b result in 0>

Nakoniec kľúčové slovo v Pythone

Python nakoniec poskytuje kľúčové slovo, ktoré sa vždy vykoná po pokuse a okrem blokov. Posledný blok sa vždy vykoná po normálnom ukončení bloku try alebo po ukončení bloku try kvôli niektorým výnimká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

vymazanie vyrovnávacej pamäte npm




# 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ýkon:

Can't divide by zero This is always executed>

Súvisiace články:

  • Výstupné otázky
  • Spracovanie výnimiek v Pythone
  • Používateľom definované výnimky