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

Slides:



Advertisements
Podobné prezentace
Interní datové typy a výjimky
Advertisements

Funkce Připomeňme si program pro výpočet faktoriálu:
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
ÚVOD DO CPP 7 Dědičnost - pokračování
Práce se soubory. Ukládání dat Textové soubory s jednoduchou strukturou (např..txt a.csv) textové soubory s vnitřní hierarchií (např..xml) Soubory binárního.
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
C# pro začátečníky Mgr. Jaromír Osčádal
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Programování v C++ Cvičení.
Čtvrté cvičení Objektové programování Objektový model v Javě
Desáté cvičení Java Core API Java Collection Framework JavaDoc.
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá pole řetězec debugr.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Objekty v CLIPSu RNDr. Jiří Dvořák, CSc.
KIV/PPA1 cvičení 11 Cvičící: Pavel Bžoch. Osnova cvičení Souborový vstup a výstup Práce s textovými soubory.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Kapitoly z metodologie pedagogického výzkumu Prostředí pro výuku algoritmů Vojtěch Ouška.
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
PB161 Jmenné prostory, I/O proudy PB161 | Jmenné prostory, IO proudy PB161 – Programování v jazyce C++ Objektově Orientované Programování.
C# - Exceptions (výjimky)
Objektové programování
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
Strategy. Strategy – „All-in-1“ na začátek class AStrategy { public: virtual void Algorithm()=0; protected: AStrategy(); }; class SpecificStrategy: public.
Seminář C++ 4. cvičení Objekty Ing. Jan Mikulka. Co je objekt ► obraz třídy i instance ► třída – definovaná za pomocí klíčového slova class ► instance.
6. cvičení Polymorfismus
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Počítače a programování 1
KIV/PPA1 cvičení 10 Cvičící: Pavel Bžoch. Osnova cvičení Výjimky a práce s nimi Nácvik na online test.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Databázové systémy II Přednáška V Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
IB111 Programování a algoritmizace
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje.
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Netrvaloppa21 Vytvořte třídu Student pro reprezentaci struktury student na ZČU. Atributy třídy budou fakulta a osobniCislo. Název třídy: Student proměnné.
C# - konverze datových typů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
16/04/20151 Výjimky a zpracování chyb (1) Výjimky (exceptions) dovolují tvorbu progra- mů, které mohou reagovat na různé chybové stavy vzniklé v jeho průběhu.
Pokročilé programování v C++ (část B)
PŘÍKAZ while úkol 1_42.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 1 / 12 Java rychlokvaška pro PDB [ ]
České vysoké učení technické Fakulta elektrotechnická S oubory Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v 1.01.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
Přihoditelné nehody Spouštění programů je riskantní počínání a tudíž je radno se pojistit. Java má však neobyčejně seriózní pojišťovnu, jež umožňuje téměř.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
Moduly.
Programovací jazyk C# 4. část - cykly.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
ZAL – 3. cvičení 2016.
Algoritmizace a programování
Výukový materiál zpracován v rámci projektu
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Composite “Spojuj a panuj”.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Transkript prezentace:

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

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 Java cv6

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

Typy výjimek Error RuntimeException a její potomci 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) Java cv6

Reakce na výjimku Ošetření výjimky Předat výš Kombinace obojího 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 Java cv6

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; } Java cv6

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; } Java cv6

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; } Java cv6

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

Balíky Java cv6

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 Java cv6

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ářů Java cv6

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

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 Java cv6