Výjimka

Výjimka (zkráceně „výjimečná událost“) je chyba nebo neočekávaná událost, ke které dojde během běhu programu. Když k výjimce dojde, přeruší tok programu. Pokud program dokáže výjimku zpracovat, může pokračovat v běhu. Pokud výjimka není ošetřena, program může být nucen se ukončit.

Výjimky podporuje více programovacích jazyků, i když se v nich používají různými způsoby. Výjimky jsou například nedílnou součástí jazyka Java a často slouží k řízení toku programu. Java obsahuje třídu Exception, která má desítky podtříd, například TimeoutException, UserException a IOException. Podtřídy jako IOException obsahují konkrétnější výjimky, například FileNotFoundException a CharacterCodingException, které mohou být „vyvolány“, pokud soubor není nalezen nebo není rozpoznáno kódování znaků řetězce.

Jiné jazyky používají výjimky pouze k zachycení zásadních chyb za běhu, například selhání při přidělování paměti nebo chyb na úrovni systému. Například program v jazyce C++ může vyvolat výjimku bad_alloc, když nelze přidělit paměť, a výjimku system_error, když operační systém vytvoří chybu.

Ošetření výjimek

Dobře napsaný počítačový program kontroluje výjimky a vhodně je ošetřuje. To znamená, že vývojář musí kontrolovat pravděpodobné výjimky a napsat kód, který je zpracuje. Pokud program výjimky dobře ošetřuje, lze neočekávané chyby zjistit a spravovat, aniž by došlo k pádu programu.

Výjimky se „vyvolávají“, když k nim dojde, a „zachycují“ je jiné části kódu programu. Lze je vyvolat explicitně pomocí příkazu throw nebo implicitně uvnitř klauzule try. Níže je uveden příklad syntaxe „try / catch“ v jazyce Java. Následující kód se pokouší dělit nulou, ale vyvolá výjimku ArithmeticException a jako výsledek vrátí hodnotu 0.

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

Výjimka je vyvolána na řádku 5 (když se číslo 11 dělí nulou), takže zbývající část příkazu try (řádek 6) se neprovede. Místo toho je výjimka zachycena na řádku 7 a je vrácen výsledek 0.

Aktualizováno May 6, 2017 od Per C.

quizOtestujte své znalosti

What is an OS that runs on a router or firewall called?

A
Network operating system
0%
B
Auto switching system
0%
C
Access point system
0%
D
Base station system
0%
Correct! Incorrect!     View the NOS definition.
More Quizzes →

Počítačový slovník Tech Terms

Definice Výjimka na této stránce je originální definice napsaná autory TechTerms.com. Pokud chcete na tuto stránku odkazovat nebo tuto definici citovat, použijte prosím zelený citační pruh přímo pod definicí.

Naším cílem je vysvětlovat počítačovou terminologii srozumitelným způsobem. U každé zveřejněné definice usilujeme o přesnost a jednoduchost. Pokud máte zpětnou vazbu nebo chcete navrhnout nový technický pojem, kontaktujte nás.

Newsletter Tech Terms

Rozšiřte své technické znalosti s naším denním nebo týdenním newsletterem! Přihlaste se ještě dnes a dostávejte nové pojmy a kvízy přímo do schránky.

Přihlaste se k bezplatnému newsletteru TechTerms

Jak často chcete dostávat e-mail?

Odhlásit se nebo změnit frekvenci můžete kdykoli pomocí odkazů v každém e-mailu. Dotazy? Prosím kontaktujte nás.

Poznámka: Newsletter je zasílán v angličtině.