Obsah
Když vytváříme program, mnohokrát nastávají situace, kdy může uživatel spustit neobvyklé chování našeho algoritmu, zvláště když jsme závislí na vstupu dat uvedeným uživatelem, protože mnoho programovacích jazyků implementuje výjimky jako mechanismus, který má zabránit tomu, aby náš program explodoval a selhal při vytváření horší situace a vystavoval citlivá data veřejnosti.Co je výjimkou?
v Krajta výjimkou je objekt, který, pokud není nějakým způsobem zpracován, vede na konec programu a zobrazí a vystopovat chyby, která tuto výjimku způsobila, příklad toho, jak výjimka vypadá v souboru Krajta Můžeme to vidět na následujícím snímku obrazovky:
Ačkoli je tato výjimka velmi základním příkladem, poskytuje nám poměrně důležité teoretické základy, naznačuje, že se jedná o instanci nějaké třídy a tyto instance lze generovat a zachytit různými způsoby, což umožňuje zachytit chybu a udělat něco v rámci tok programu, čímž se zabrání jeho náhlému ukončení, se kterým by byl náš program mnohem stabilnější.
Vyvolání výjimky
Jak jsme mohli vidět v předchozích odstavcích, výjimky jsou v mnoha případech vyvolávány automaticky, ale můžeme je také vyvolat sami, abychom získali větší kontrolu nad programem.
K vyvolání výjimky použijeme příkaz vyzdvihnout to bere jako argument buď třídu nebo objekt, když použijeme třídu, její instance se automaticky vygeneruje, můžeme dokonce použít argument typu řetězec po třídě oddělené čárkou.
Podívejme se na několik příkladů pomocí třídy zahrnuté v Krajta pojmenovaný Výjimka :
S tímto kódem můžeme vyvolat výjimku:
>>> zvýšit výjimku Traceback (poslední volání poslední): Soubor "", řádek 1, v? Výjimka
Jednoduše voláme vyzdvihnout a prošli jsme třídou VýjimkaJak vidíme, není to vůbec složité, podívejme se na další kódy.
>>> Zvýšit výjimku, „přetížení hyperpohonu“ Traceback (poslední volání poslední): Soubor „“, řádek 1, v? Výjimka: přetížení hyperpohonu
V těchto dvou dalších případech předáváme další parametr typu string, jak vidíme, můžeme to udělat buď oddělením čárkou, nebo jako argument třídy.
Podívejme se na seznam některých výjimek, které ve výchozím nastavení přicházejí Krajta:
- Výjimka: Kořenová třída pro všechny výjimky.
- AttributeError: Vyvolá se v případě, že přiřazení odkazu nebo atributu selže.
- IOError: Vyvolá se při pokusu o otevření souboru, který neexistuje.
- IndexError: Vyvolá se, když se použije neexistující index nebo sekvence.
- KeyError: Vyvolá se, když je namapován neexistující klíč.
- Název Chyba: Vyvolá se, pokud není nalezen název proměnné.
- Chyba syntaxe: Vyvolá se, když je kód špatně vytvořen.
- TypeError: Vyvolá se, když je na objekt nesprávného typu použita operace nebo funkce.
- ValueError: Stejně jako v předchozím případě, ale místo použití na typ, platí pro hodnotu objektu.
- ZeroDivisionerror: Vyvolá se, když je druhý argument divize nula.
Ačkoli výjimky, které přicházejí v úvahu Krajta Pokrývají již rozsáhlé pole funkcí, které možná potřebujeme, jsou chvíle, kdy si jednoduše musíme vytvořit vlastní výjimky, abychom vyhověli našim programům, podívejme se na příklad:
třída SomeCustomException (Exception): pass
Prostě vytvoříme třídu jako každou jinou a poté ze třídy zdědíme Výjimka za účelem vytvoření naší vlastní výjimky.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod