Lekce 21 - Výjimky v C++
V předešlém cvičení, Řešené úlohy k 18. až 20. lekci OOP v C++, jsme si procvičili nabyté zkušenosti z předchozích lekcí.
V dnešním C++ tutoriálu se budeme věnovat práci se výjimkami, které řeší chybové stavy programu.
V našem programu může často dojít k chybě. Tím nemyslím chybě z důvodu, že byl program funkčně špatně napsaný, takových chyb se jsme schopni dobře vyvarovat. Obecně se jedná zejména o chyby, které zapříčinily tzv. vstupně/výstupní operace. V anglické literatuře se hovoří o input/output nebo zkráceně o I/O. Jedná se např. o vstup uživatele z konzole, ze souboru, výstup do souboru, na tiskárnu a podobně. V zásadě platí, že zde figuruje uživatel, který nám může zadat nesmyslný vstup, neexistující nebo nevalidní soubor, odpojit tiskárnu a podobně. My však nenecháme program spadnout s chybou, naopak budeme zranitelná místa v programu ošetřovat a na danou skutečnost uživatele upozorníme.
Aktivní ošetření chyb
První možnost ošetření chyb nazýváme jako aktivní. V programu
zmapujeme všechna zranitelná místa a ošetříme je podmínkami. Jako
učebnicový příklad se zpravidla používá dělení nulou. Představme si
program, který používá třídu Matematika
, která má metodu
podil()
. Třída by mohla vypadat např. takto:
class Matematika { public: static int podil(int a, int b) { return a / b; } }
Třídu obvykle použijeme tímto způsobem:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
Tutoriál představí výjimky v C++, try-catch bloky a další techniky používané s výjimkami.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.