Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Šesté cvičení Výjimky Balíky. Java cv62 Výjimky Výjimka chybová událost, výjimečný stav programu objekt, který chybovou událost popisuje speciální zacházení.

Podobné prezentace


Prezentace na téma: "Šesté cvičení Výjimky Balíky. Java cv62 Výjimky Výjimka chybová událost, výjimečný stav programu objekt, který chybovou událost popisuje speciální zacházení."— Transkript prezentace:

1 Šesté cvičení Výjimky Balíky

2 Java cv62 Výjimky Výjimka chybová událost, výjimečný stav programu objekt, který chybovou událost popisuje speciální zacházení s těmito objekty Umožňuje programátorovi (nutí programátora) reagovat na chybové stavy

3 Java cv63 Hierarchie výjimek IOException RuntimeException nemusí se odchytávat Throwable jakákoliv chyba Exception musí se odchytávat ArythmeticException například Error například NumberFormatException například

4 Java cv64 Typy výjimek Error závažná chyba programu způsobená okolím (chyba HW, nedostatek paměti, …) Nemusíme na ní reagovat a většinou to nemá smysl RuntimeException a její potomci Chyba, která může nastat kdekoliv v programu (aritmetická chyba, překročení velikosti pole, …) Nemusíme na ní reagovat, ale má to smysl tam, kde se dá očekávat Exception a její potomci Musíme na ní nějakým způsobem reagovat (definovat chování programu pokud nastane)

5 Java cv65 Reakce na výjimku Ošetření výjimky programátor napíše kód, který se provede když výjimka nastane Předat výš pokud v daném místě nedokážu nebo nechci výjimku ošetřit, předám jí dál Kombinace obojího

6 Java cv66 Ošetření výjimky Pomocí konstrukce try-catch-finally Inkriminovaný kus kódu obalím blokem try a za něj napíšu co se má stát pokud k výjimce dojde. blok finally není povinný Př.: try { int cislo = Integer.parseInt(args[0]); } catch (NumberFormatException e) { System.out.println(“Parametr musí být číslo“); return; }

7 Java cv67 Předání výjimky výš Deklaruji, že metoda může vyhodit výjimku Tím nutím programátora, aby jí ošetřil v místě, kde tuto metodu volá Pokud není výjimka ošetřená nikde, program se ukončí a výjimka se vypíše na konzoli Př.: int prectiZnak() throws IOException { int i = System.in.read(); return i; }

8 Java cv68 Způsoby vzniku výjimky Výjimka vyhozená JVM způsobená okolím způsobená chybou v programu Výjimka vyhozená explicitně v programu pomocí příkazu throw Př: int spoctiPremie(int plat) throws Exception { if (plat < 0) throw new Exception(); return plat*1.20; }

9 Java cv69 Vlastní výjimky Normální objekt, který je potomkem Exception nebo RuntimeException Př.: public class MojeException extends Exception { public MojeException(String popisChyby) { super(popisChyby); }

10 Java cv610 Balíky

11 Java cv611 Balíky „Něco jako knihovna“ Balíky obsahují přeložené soubory tříd (.class) Rozdělení tříd do logicky souvisejících celků Vyřešení konfliktů se jmény tříd Možnost omezení přístupu ke třídě Balík se definuje na začátku souboru klíčovým slovem package za kterým následuje jméno balíku

12 Java cv612 Balíky Každá třída je v nějakém balíku Pokud není explicitně balík definovaný, je v balíku default Všechny třídy, které nemají definovaný balík, jsou ve stejném balíku! Balíky a třídy se mapují na adresáře souborového systému Hierarchie balíků hierarchie adresářů

13 Java cv613 Balíky package mujbalik; class TridaVBaliku { … //telo tridy } soubor TridaVBaliku.java mujbalik TridaVBaliku.class podbalik package mujbalik.podbalik; class JinaTrida { … //telo tridy } soubor JinaTrida.java JinaTrida.class

14 Java cv614 Použití tříd z jiného balíku Vždy se dá použít plné jméno třídy (včetně balíku) např.: java.lang.String ) Importuji třídy z balíku pomocí klíčového slova import nejde o „vložení“ tříd z balíku pouze o rozšíření jmen tříd import všech tříd v balíku: import java.io.*; import jedné třídy z balíku: import java.io.InputStream; Java vždy importuje balíky java.lang.*; default aktuální balík

15


Stáhnout ppt "Šesté cvičení Výjimky Balíky. Java cv62 Výjimky Výjimka chybová událost, výjimečný stav programu objekt, který chybovou událost popisuje speciální zacházení."

Podobné prezentace


Reklamy Google