Výjimky v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Vytvořen obsah stránky.)
(Vytvořen obsah stránky.)
Řádka 31: Řádka 31:
 
# A&nbsp;nakonec můžeme uvést kód, který se má provést každopádně:<br /> <code> finally { </code> ... Co se má stát vždy na konci bloku ... <code> } </code>
 
# A&nbsp;nakonec můžeme uvést kód, který se má provést každopádně:<br /> <code> finally { </code> ... Co se má stát vždy na konci bloku ... <code> } </code>
  
; Šablona kódu:
+
 
 +
 
 +
== Šablona kódu ==
 
  '''try''' { ''// Začni provádět kód, ve kterém může nastat chybový stav...''
 
  '''try''' { ''// Začni provádět kód, ve kterém může nastat chybový stav...''
 
   
 
   
Řádka 54: Řádka 56:
  
 
== Příklad &mdash; práce se souborem ==
 
== Příklad &mdash; práce se souborem ==
 +
 +
 +
 +
== Delegování chyb &nbsp; <code>throws</code> ==
  
  

Verze z 14. 4. 2020, 12:48


Obsah

Co jsou výjimky?

Ještě jednou pro ujasnění:

  • Neřešíme teď situaci, kdy je aplikace špatně naprogramovaná!
  • Aplikace je správně napsaná, ale problém nastane v něčem, co programátor nemůže dopředu ovlivnit.
  • Například výpadek sítě při komunikaci přes síť. Takové chyby lze předvídat a můžeme do aplikace zabudovat vhodnou reakci na takovou chybu. Ale nelze zajistit, aby taková chyba nenastala.


Jak výjimky fungují?

  1. Označíme blok kódu, kde chyba může nastat:
    try { ... }
  2. Následně zapíšeme kód bez toho, abychom museli neustále testovat chyby
    • Kód tedy může tedy zůstat přehledný a stručný, bez spousty podmínek.
    • Pokud chyba nastane, zbytek bloku kódu se přeskočí a ihned se provede reakce na chybu (viz další krok).
  3. Poté popíšeme, jak zareagovat na jednotlivé typy chyb (jak zareagovat na výjimky):
    catch (TypVýjimky názevVýjimky) { ... jak zareagovat ... }
  4. A nakonec můžeme uvést kód, který se má provést každopádně:
    finally { ... Co se má stát vždy na konci bloku ... }


Šablona kódu

try { // Začni provádět kód, ve kterém může nastat chybový stav...

    ... zde následuje kód, pracující se souborem...

} catch (TypVýjimky1 ex) { 

    // Co se má stát, pokud nastane chyba TypVýjimky1...

} catch (TypVýjimky2 ex) { 

    // Co se má stát, pokud nastane chyba TypVýjimky2...

} finally {

    // Co se má stát každopádně po skončení bloku...
    // Provede se i tehdy, kdy nastane neočekávaná chyba.

}


Příklad — práce se souborem

Delegování chyb   throws

Související stránky


Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje