Úvod do zpracování výjimek Pythonu

Výjimky jsou zpracovávány v pythonu pomocí dvou hlavních technik, jedná se o řešení tvrzení a výjimek. V této kapitole si probereme techniky zacházení s pythonovými výjimkami
Každá událost, která odkloní normální provádění programového toku, se nazývá výjimka. Zkuste blok obsahuje možné kódy generující chyby. Pořadí a správa těchto výjimek je proces prováděný blokem kromě, který je vložen na konec každého zkušebního bloku. Jeden zkušební blok může v určitém okamžiku přiřadit více než jednu výjimku, zatímco ostatní bloky spadají do obvyklé sekce toku programu. Celý kód, kde není nutná žádná ochrana bloku pokusu, je umístěn v druhém bloku programu.

Syntax:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Standardní seznam výjimek

Výjimka: Všechny výjimky základní třídy

StopIteration: když další metodou iterátoru není namířen žádný objekt, je tato výjimka vyvolána

SystemExit: Zdvihnutý pomocí funkce sys.exit ().

StandardError: Kromě StopIteration a SystemExit to funguje jako základní třída pro všechny vestavěné funkce.

ArithmeticError: Pro všechny numerické chyby fungují tyto výjimky jako základní třída.

OverflowError: U numerického typu, pokud výpočet překročí maximální možnou hodnotu, je tato chyba vyvolána.

FloatingPointError: Selhání plovákové operace tuto chybu způsobí

ZeroDivisionError: Zvýšeno, když v kódu dojde k dělení nulou

AssertionError: Pokud příkaz assert selže, je tato chyba spuštěna

AttributeError: Pokud přiřazení nebo odkaz na atribut selže, vyvolá tuto chybu

EOFErroR: Zvýšeno, když není dosaženo žádného vstupu z žádné funkce a konce souboru

ImportError: Vyvoláno, zatímco selže importní deklarace.

KeyboardInterrupt: Zvýšeno, když dojde k přerušení provádění programu

LookupError: Všechny chyby vyhledávání spadají do této základní třídy

IndexError: Zvýšeno, když index nebyl nalezen

KeyError: Zvýšeno, pokud slovník nedrží uvedenou hodnotu klíče

NameError: Vyráběno pro chybějící identifikátor lokálně nebo globálně v programu

UnboundLocalError: Zvýšeno při použití místní proměnné bez přiřazení jakékoli hodnoty.

EnvironmentError: Základní třída pro chyby zaměřené na prostředí, ke kterým dochází mimo python

IOError: Zvýšeno, zatímco proces vstupu / výstupu byl neúspěšný

SyntaxError: Všechny chyby orientované na syntaxi pythonu jsou řešeny touto výjimkou

IndentationError: Nesprávné odsazení povede k tomuto druhu chyb

SystemError: K tomu dochází v situaci, kdy tlumočník nefunguje podle očekávání, ale tato chyba nevede k tomu, že by pythonový program zmizel z provádění

SystemExit: Je-li funkce sys.exit () používána interpretem pythonu, vede k této výjimce. to způsobí, že kód nebude abnormálně ukončen, nebude-li s ním správně zacházeno.

TypeError: Pokud je operace neplatná pro konkrétní typ dat, je tato chyba vyzvána

ValueError: Když funkce obsahuje platný argument typu, ale pro tento typ argumentu byla zadána nesprávná hodnota

RuntimeError: Pokud některá z výše uvedených kategorií není splněna, je tato chyba vyvolána

NotImplementedError: Vyvinuto, zatímco nefigurativní metoda, která chce být uvedena do praxe ve zděděné třídě, není ve skutečnosti implementována. Pořadí a řízení těchto výjimek je proces prováděný blokem kromě, který je vložen na konec každého zkušebního bloku.

Proces zpracování výjimek v Pythonu

  • Výjimka s více výjimkami
  • Kromě klauzule bez zmíněné výjimky
  • Kromě klauzule s argumenty

Níže budeme hovořit o procesu zpracování výjimek v Pythonu

1. S výjimkou klauzule s více výjimkami

To umožňuje více než jednu výjimku, která je deklarována v jedné výjimce, a všechny tyto deklarované výjimky mohou být vyvolány z této výjimky.

Syntax:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. S výjimkou ustanovení bez výjimky

Zde lze zpracovat všechny výjimky spuštěné z bloku try.

Syntax:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Kromě klauzule s argumenty

Skutečná příčina výjimky bude uvedena v hodnotě argumentu

Syntax:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Program zpracování výjimek

Syntax:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Závěr

Každý programovací jazyk drží proces vyvolání výjimky, kdykoli čelí neočekávané sadě situací, a python je jednou z nich, která produkuje hluboké techniky pro řešení těchto výjimek, což z něj činí silný základní programovací jazyk.

Doporučený článek

Toto byl průvodce zpracováním výjimek Pythonu. Zde diskutujeme standardní seznam výjimek a zpracováváme je spolu se syntaxí. Další informace naleznete také v dalších navrhovaných článcích -

  1. Výhody Pythonu
  2. Python Frameworks
  3. Vzory v Pythonu
  4. Kompilátory Pythonu
  5. Zpracování výjimek ve VB.NET (příklady)
  6. Slovník v Pythonu
  7. Události VB.Net

Kategorie: