Aplikacje w środowisku Java

Podobne dokumenty
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.

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

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

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

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

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

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

Programowanie obiektowe

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

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

Programowanie Obiektowe Ćwiczenie 4

Dawid Gierszewski Adam Hanasko

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

Aplikacje w środowisku Java

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

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

Podstawy i języki programowania

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

Konwencje obsługi błędów

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

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

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

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

Wyjątki (exceptions)

Aplikacje w środowisku Java

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

Materiały do zajęć III

Programowanie obiektowe

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

Projektowanie algorytmów rekurencyjnych

Platformy Programistyczne Wykład z Javy dla zaawansowanych

Obsługa wyjątków. Język C++ WW12

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 w języku Java WYKŁAD

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

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

Programowanie Obiektowe (Java) Wykład siódmy

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

Remote Method Invocation 17 listopada 2010

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Algorytmy z powrotami. Algorytm minimax

Efekty uboczne błędów

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

Podejście obiektowe do budowy systemów rozproszonych

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Podstawy programowania w lejos

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

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

Bezpieczeństwo w aplikacjach Java

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

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

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Klasy cd. Struktury Interfejsy Wyjątki

Java. Programowanie Obiektowe Mateusz Cicheński

Podstawy programowania obiektowego

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

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

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

Programowanie obiektowe

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń

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

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?

Systemy Rozproszone - Ćwiczenie 6

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

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ć

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

Aplikacja wielowątkowa prosty komunikator

Podstawy obsługi wyjątków

Wykład 7: Pakiety i Interfejsy

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

Tworzenie i wykorzystanie usług

Testy automatyczne. Korzystające z junit

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

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Komponenty sterowane komunikatami

JAVA W SUPER EXPRESOWEJ PIGUŁCE

package pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }

Java. Leksykon kieszonkowy. Wydanie II

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

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Podstawy języka Java. przygotował:

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

Programowanie obiektowe

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

Programowanie poprzez testy z wykorzystaniem JUnit

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

Oracle PL/SQL. Paweł Rajba.

Aplikacje w środowisku Java

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

Klasyfikacja wyjątków

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

Wzorce prezentacji internetowych

Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński

Transkrypt:

Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Wyjątki mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019

Spis treści Wyjątki... 3 2

Wyjątki Podczas pracy programu mogą wystąpić sytuacje, które nie zostały przewidziane przez programistę (np. nietypowy zestaw danych, brak dostępu do zasobu). Zwykle w takiej sytuacji program kończy swoje działanie, a użytkownik otrzymuje niewiele mówiąc komunikat, sugerujący wystąpienie błędu. Uniknięcie takiej sytuacji możliwe jest dzięki blokowi try catch. public static void main(string[] args) { Kod z blokiem try catch. catch (Exception e) { Jak można zauważyć, zastosowanie bloku try catch sprawiło, że aplikacja nie zakończyła swojego działania po wystąpieniu wyjątku. Ogólna zasada mówi, że jeśli nie uda się zrealizować akcji, zawartej w bloku try, następuje wykonanie kodu z bloku catch. Kod z tego bloku (catch) nie jest wykonywany, gdy nie wystąpił wyjątek. 3

System.out.println(array[4]); catch (Exception e) { Istnieje możliwość dodania bloku finally. Zawarte będą w nim instrukcje, które zostaną wykonane zawsze, niezależnie od tego, czy wystąpił wyjątek. System.out.println(array[4]); catch (Exception e) { finally { System.out.println("Blok finally"); catch (Exception e) { finally { System.out.println("Blok finally"); Możemy przechwycić kilku różnych wyjątków w jednym bloku try. 4

catch (NullPointerException e) { System.out.println("Wystąpił NPE"); catch (ArrayIndexOutOfBoundsException a) { System.out.println("Wystąpił ArrayIndexOutOfBoundsException"); System.out.println(a.getLocalizedMessage()); W powyższym przykładzie obsłużono 2 różne wyjątki. Dodatkowo wyświetlona została wiadomość, informująca o przyczynie występowania wyjątku. W języku Java możemy wyróżnić 2 rodzaje wyjątków: checked (kontrolowane) i unchecked (niekontrolowane). Wyjątki typu unchecked nie muszą być jawnie obsługiwane w kodzie programu przez programistę. Należą one do klas dziedziczących po klasach Error oraz RuntimeException. RuntimeException dziedziczy po klasie Exception, jednak ze względu na specyfikę tych wyjątków, zaliczane są one do grupy niekontrolowanych. W przypadku wyjątków tego typu, po stronie programisty znajduje się zapewnienie, że wyjątek nie zatrzyma wykonywania programu. Wyjątki typu checked wymagają obsłużenia przez programistę. Tę grupę stanowią wyjątki, które dziedziczą po klasie Exception. Obsługa wyjątków tego typu, polega dodaniu słowa kluczowego throws oraz nazwy wyjątku w deklaracji metody, w której może on wystąpić. Dodatkowo, w ciele metody należy użyć słowa kluczowego throw. W języku Java istnieje możliwość utworzenia własnego wyjątku. public class MyException extends Exception { public MyException(String message) { super(message); Obsługa wyjątku: public int extest() throws MyException { throw new MyException("Wystąpienie własnego wyjątku"); 5

Zastosowanie bloku try catch dla wyjątku: public static void main(string[] args) { OperationHelper operationhelper = new OperationHelper(); operationhelper.extest(); catch (MyException e) { System.out.println(e.getMessage()); 6