Python AssertionError

Python Assertionerror



Keď program v jazyku Python pri spustení narazí na neočakávanú podmienku, program zastaví vykonávanie a vráti výnimku. V Pythone sú výnimky a chyby syntaxe dve hlavné kategórie chýb. Keď časť kódu Python, ktorý je syntakticky platný, vytvorí chybu, je to známe ako vyvolanie výnimky/chyby. Chybové hlásenie v poslednom riadku definuje presný typ výnimky a poskytuje popis, ktorý vám pomôže pri ladení, a šípka ukazuje na riadok alebo miesto, kde sa výnimka vyskytla. Zachytenie a správa výnimiek sú kľúčové, aby ste sa vyhli náhlemu zlyhaniu programu. Na spustenie kódu použite iný spôsob. Napríklad, keď sa vyskytne špecifikovaná výnimka. Tento tutoriál bude diskutovať o AssertionError a o tom, ako ju môžete vyriešiť v Pythone.

Čo je to assertionError v Pythone?

Chyby tvrdení sú koncepciou programovania, ku ktorej dochádza, keď programátor napíše alebo vytvorí blok kódu, ktorý sa používa na vyhlásenie kritéria alebo podmienky, ktoré majú byť splnené pred spustením modulu. Ako každá chyba Pythonu, riadenie sa prenesie na nasledujúci riadok kódu, ak bola podmienka špecifikovaná, keď bolo tvrdenie vyhlásené za pravdivé. Ak je to nepravda, na druhej strane sa zobrazí chyba alebo výnimka a program sa zastaví. Príkaz statement sa dá použiť v rôznych programovacích jazykoch s ich špecifickými syntaxami, pretože je nezávislý od jazyka. Je to podtrieda alebo inštancia triedy Exception. Python AssertionError má nasledujúcu syntax:

Syntax: potvrdiť podmienku, chybová_správa (voliteľné)







Príklad

Ako vstup zadáme vek osoby a ak je menší ako nula, konzola zobrazí chybu tvrdenia.





Čo ak zadáme vek nižší ako 0?





Ladenie kódu pomocou tejto metódy je jednoduchšie, vďaka čomu je jednoduchšie nájsť chyby a opraviť chyby v programe.



Ako AssertionError funguje v Pythone

Jazyk Python obsahuje príkaz potvrdenia, ktorý možno použiť na generovanie jednoduchých výstupov chybových hlásení s logickými tvrdeniami. Keď vyhlásenie tvrdenia zlyhá, zobrazí sa „výnimka“ AssertionError. V Pythone sú triedy výnimiek odvodené od triedy BaseException. Trieda BaseException, ktorá je tiež základnou triedou triedy AssertionError, je miestom, odkiaľ pochádza trieda Exception. Vždy by mal existovať vhodný kód na spracovanie výnimiek, ktorý by sa vyrovnal so zlyhaním príkazu potvrdenia, kedykoľvek sa nejaký použije. Predvolený obslužný program výnimiek v Pythone vypíše chybové hlásenie napísané programátorom, ale chybu je možné spracovať alebo vyriešiť aj bez chybového hlásenia.

Implementácia AssertionError v Pythone

Nasleduje niekoľko príkladov AssertionError v Pythone:

Príklad

V tomto príklade napíšeme program Python na zobrazenie AssertionError v programe, ktorý nájde oblasť kruhu.

Hodnota polomeru „r“ sa odovzdá ako vstup do funkcie v predchádzajúcom programe, ktorý je vytvorený na nájdenie oblasti kruhu. Vyjadrenie potvrdenia sa potom používa na určenie, či je dodaná hodnota alebo polomer „r“ pod nulou, a ak sa mu dodá záporná hodnota, vyvolá sa výnimka. Plocha kruhu sa vráti na základe hodnoty polomeru „r“ zadanej funkcii. Najprv sa funkcia vykoná s hodnotou r ako 3. Funkcia sa potom vykoná s hodnotou 2,5. AssertionError sa vyvolá, keď použijeme zápornú hodnotu „r“, t. j. „-1“.

Skúsme ďalší príklad na zobrazenie výskytu chyby tvrdenia.

Príklad

V tomto príklade program určí, či je hodnota menovateľa nenulová.

Chybové hlásenie chyby tvrdenia sa zobrazuje v predchádzajúcom programe. Vytvorili sme dve premenné (a a b) a celočíselné hodnoty špecifikujú premenné. Druhá premenná, t. j. b, sa potom otestuje, aby sa zistilo, či sa nerovná 0 pomocou príkazu claim. V opačnom prípade sa vytlačí chybové hlásenie. Ak nie, zobrazí sa výsledok vydelenia prvého čísla druhou hodnotou. Na predchádzajúcom obrázku je zobrazený výstup programu.

Aplikácie AssertionError

Medzi ďalšie užitočné spôsoby použitia chyby tvrdenia patria:

  • Tvrdenie pomáha pri hodnotení hodnôt parametrov
  • Tvrdenia pomáhajú pri monitorovaní typu vstupu a tom, či je táto hodnota platná
  • Okrem toho tvrdenia pomáhajú pri identifikácii, či iný vývojár kódu zneužíva rozhranie
  • Tvrdenia pomáhajú pri nepretržitom monitorovaní výstupu programu

Ako sa môžeme vyhnúť chybám pri tvrdeniach v Pythone

  1. Príznak -O v programe Python možno použiť na zakázanie každého príkazu asercie. Je dôležité mať na pamäti, že výroky, ktoré prídu po výroku tvrdenia, sa nevykonajú, ak zakážeme výroky tvrdenia.
  2. Premenná prostredia môže tiež nastaviť príznak na vypnutie príkazov tvrdenia. V tejto situácii sú ovplyvnené všetky procesy a aplikácie, ktoré používajú alebo dedia prostredie.
  3. V Pythone je najjednoduchším spôsobom, ako zabrániť chybám tvrdení, spracovať ich manuálne. Ak zabezpečíme, aby bol riadiaci tok programu odklonený tak, že nebude mať prístup k príkazom tvrdenia, potom neexistuje žiadna šanca na chyby v tvrdeniach.

Spracovanie chyby AssertionError

Okrem príkazu tvrdenia môžeme chybu tvrdenia vyriešiť aj pomocou nasledujúcich metód:

Riešenie chyby tvrdenia pomocou blokov Try-Except

Výrok statement určuje, či sú hodnoty rovnaké. Blok try vyvoláva chybu AssertionError, pretože tieto celé čísla nie sú rovnaké. Príkaz print sa vykoná po tom, čo blok okrem zachytí výnimku. Tu sa zobrazí výstup tlačového výpisu z bloku výnimky. Kľúčové slovo zvýšiť možno použiť na opätovné nahlásenie chyby v bloku s výnimkou, aby sme mohli určiť zdroj výnimky. Keď sa vyskytne výnimka, kľúčové slovo „raise“ vyvolá chybu a ukončí program. Pomáha pri udržiavaní alebo uchovávaní záznamu / sledovania existujúcej výnimky.

Spracovanie chyby AssertionError pomocou modulu traceback

Keď kód obsahuje niekoľko príkazov tvrdenia, modul sledovania pomáha pri identifikácii presného zdroja chyby.

Pomocou modulu traceback je možné náš tlačový výpis napísať so zástupnými symbolmi {}.

Okrem toho môžeme definovať ďalšie premenné na uloženie pozície riadka, názvu súboru, názvu metódy, ako aj textu/správy, kde sa vyskytla výnimka.

Objekt sledovania sa označuje ako „tb“. Používame dva zástupné symboly: jeden pre text a druhý pre pozíciu riadku v tlačovom výpise.

Funkcia sys.exc_info() vracia tri zložky príkazu „raise“ – typ_ex,_traceback a_hodnota_exc.

Spracovanie chyby AssertionError pomocou tlačového výpisu

Ak chcete výnimku spracovať manuálne, môžeme použiť príkaz „tlačiť“ vo vnútri bloku s výnimkou.

Tlačový výpis vytlačí akékoľvek chybové hlásenie, ktoré používateľ zadá. Pri tejto metóde nebude technická chyba pre používateľa znepokojovať.

Namiesto chyby sa zobrazí krátka správa.

Záver

V tomto príspevku sme prvýkrát videli zavedenie výnimiek v Pythone. Diskutovali sme o AssertionError, ako to funguje a ako môžeme implementovať AssertionError v Pythone. Vysvetlili sme niekoľko výhod AssertionError a ako sa im môžeme vyhnúť. V poslednej časti tohto príspevku sme videli, ako môžeme zvládnuť AssertionError v Pythone pomocou Try-Except Blocks, modulu spätného sledovania a príkazu na tlač.