Programowanie obiektowe

Podobne dokumenty
Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Wykład 8: Obsługa Wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Aplikacje w środowisku Java

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Wykład 04. Programowanie obiektowe. Maciej Wołoszyn 17 marca Spis treści

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Podstawy obsługi wyjątków

Programowanie obiektowe

Dawid Gierszewski Adam Hanasko

Programowanie Obiektowe Ćwiczenie 4

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Podstawy i języki programowania

Obsługa wyjątków. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków

Struktura programu: package pl.mojastrona.mojpakiet; import javax.swing.*; import java.awt.container; class MojaKlasa extends Jframe {

Java SE Laboratorium nr 4. Temat: Obsługa wyjątków i zdarzeń

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Programowanie obiektowe

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie obiektowe

Materiały do zajęć III

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Programowanie obiektowe

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Języki i metody programowania Java. Wykład 2 (część 2)

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Programowanie obiektowe

Platformy Programistyczne Wykład z Javy dla zaawansowanych

Zaawansowane programowanie w języku C++ Wyjątki

Java. Programowanie Obiektowe Mateusz Cicheński

Programowanie obiektowe

Programowanie w języku Java WYKŁAD

Konwencje obsługi błędów

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Techniki zabezpieczania kodu - kontrola wyjatków. Temat VIII

Podstawy programowania obiektowego

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Klasy cd. Struktury Interfejsy Wyjątki

Podejście obiektowe do budowy systemów rozproszonych

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Podstawy otwartych języków programowania Wyjątki i strumienie I/O

Programowanie obiektowe i zdarzeniowe

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie obiektowe

Efekty uboczne błędów

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Wykład 4: Klasy i Metody

Remote Method Invocation 17 listopada 2010

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Wywoływanie metod zdalnych

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Podstawy programowania obiektowego

Programowanie Obiektowe (Java) Wykład siódmy

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie obiektowe

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

Programowanie obiektowe

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Programowanie w Javie wykład 6

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Wyjątki (exceptions)

Programowanie w Javie wykład 7 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Bloki inicjalizacyjne

Programowanie w języku Java

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Programowanie obiektowe

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wywoływanie metod zdalnych

Dziedziczenie. dr Jarosław Skaruz

Kurs programowania. Wykład 9. Wojciech Macyna

Klasyfikacja wyjątków

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie i projektowanie obiektowe

Java programowanie w sieci. java.net RMI

MAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania

Klasy abstrakcyjne, interfejsy i polimorfizm

Podejście obiektowe do budowy systemów rozproszonych

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Systemy Rozproszone - Ćwiczenie 6

Aplikacje RMI

KLASY, INTERFEJSY, ITP

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Programowanie obiektowe

Projektowanie algorytmów rekurencyjnych

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Połączenia między bazami danych i programem w języku Java część 2

Transkrypt:

Programowanie obiektowe Wykład 9: Wyjątki 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 1 Co to jest wyjątek? błąd wykonania: InputFile.java:8: Warning: Exception java.io.filenotfoundexception must be caught, or it must be declared in throws clause of this method. in = new FileReader(filename); sytuacja wyjątkowa żądanie przerwania wykonywania bloku instrukcji Wyjątek jest obiektem! 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 2 1

Hierarchia wyjątków 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 3 Generacja wyjątków automatyczna (np. błąd) programowa: if (t==null) throw new NullPointerException( ); 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 4 2

Obsługa wyjątków try { // kod który może generować wyjątki catch (Typ1 wyj1) { // obsługa wyjątków Typ1 catch (Typ2 wyj2) { // obsługa wyjątków Typ2 catch (Typ3 wyj3) { // obsługa wyjątków Typ3 finally { // kod który wykonywany jest na końcu 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 5 Propagacja wyjątków 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 6 3

Tworzenie własnych wyjątków class SimpleException extends Exception { public class SimpleExceptionDemo { public void f() throws SimpleException { System.out.println( Wyrzucam SimpleException z f()"); throw new SimpleException (); public static void main(string[] args) { SimpleExceptionDemo sed = new SimpleExceptionDemo(); try { sed.f(); catch(simpleexception e) { System.err.println( Złapałem!"); Istnieje konieczność specyfikacji wyjątków generowanych przez metody! Konieczność ta nie dotyczy RuntimeException 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 7 Klasa Throwable public String getmessage() public String getlocalizedmessage() public String tostring() public void printstacktrace() public void printstacktrace(printstream s) public void printstacktrace(printwriter s) public Throwable fillinstacktrace() public StackTraceElement[] getstacktrace() public void setstacktrace(stacktraceelement[] stacktrace) 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 8 4

Wyjątki RuntimeException AnnotationTypeMismatchException, ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, EnumConstantNotPresentException, EventException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IncompleteAnnotationException, IndexOutOfBoundsException, JMRuntimeException, LSException, MalformedParameterizedTypeException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, RejectedExecutionException, SecurityException, SystemException, TypeNotPresentException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 9 Zasady specyfikacji wyjątków W metodach przeciążonych można zgłaszać tylko wyjątki wyspecyfikowane w klasie bazowej W konstruktorach podklas można dodawać nowe wyjątki 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 10 5

Przykład class VeryImportantException extends Exception { public String tostring() { return "A very important exception!"; class HoHumException extends Exception { public String tostring() { return "A trivial exception"; public class LostMessage { void f() throws VeryImportantException { throw new VeryImportantException(); void dispose() throws HoHumException { throw new HoHumException(); public static void main(string[] args) throws Exception { LostMessage lm = new LostMessage(); try { lm.f(); finally { lm.dispose(); 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 11 Co umożliwiają wyjątki? naprawienie problemu i ponowne wykonanie kodu wydobycie się z błędu i kontunuację wykonania wykonanie alternatywnego kodu wykonanie skoków przekazywanie informacji o stanie pomiędzy metodami zakończenie programu 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 12 6

Pytania 1. Jakie są wymagania dotyczące wyjątków generowanych przez metody przeciążające lub przesłaniające? 2. Jakie są zasady specyfikacji generowanych wyjątków w konstruktorach? 3. Jakie są zasady obsługi wyjątków? 4. Czy wyjątek może być kolekcją? 5. Czy wyjątek można obsłużyć 2 razy? 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 13 Koniec 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 14 7