Dzisiejsze zajęcia będą wyjątkowe…

Slides:



Advertisements
Podobne prezentacje
Wstęp do strumieni danych
Advertisements

C++ wykład 9 ( ) Szablony.
C++ wykład 7 ( ) Wyjątki.
Programowanie wizualne
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Dzisiejszy wykład Wyjątki.
Klasy i obiekty.
Zaawansowane metody programowania – Wykład V
Bezpieczeństwo wyjątków w C++: OpenGL
Języki programowania C++
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Wydajne aplikacje na platformie .NET
Wybrane elementy języka Java
Nowa wersja C# Autor: Piotr Sobczak
Szablony (wzorce) Przykład 1: Szablon klasy -
Licznik template<class Count_Type> class Count { public:
Obsługa błędów w programach i zapobieganie ich występowaniu.
Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.
Bartosz Walter Inżynieria oprogramowania Lecture XXX JavaTM – część II Bartosz Walter
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Multimedia Obrazy i dźwięki w apletach Javy, praca z tekstem, zdarzenia od myszki, obsługa wyjątków w Javie, aplety z wątkami, animacja poklatkowa.
C++ wykład 7 ( ) Wyjątki. Ogólne spojrzenie na wyjątki Wyjątki zaprojektowano do wspierania obsługi błędów. System wyjątków dotyczy zdarzeń synchronicznych.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Wyjątki, rzutowanie typów, operator instanceOf
Język C# Copyright, 2004 © Adam Czajka.
Podstawy C# Grupa .NET PO.
Podstawy programowania
Podstawy programowania II
Programowanie urządzeń mobilnych – wykład IV
Transakcje zarządzane kontenerem
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
Programowanie strukturalne i obiektowe
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
K URS JĘZYKA C++ – WYKŁAD 7 ( ) Wyjątki.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
K URS JĘZYKA C++ – WYKŁAD 10 ( ) Szablony.
Waldemar Bartyna 1 Programowanie zaawansowane Strukturalna obsługa wyjątków.
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Wyjątki. Po co nam wyjątki? Często pisząc jakiś kod staramy się go uczynić uniwersalnym, jesteśmy w stanie wykryć sytuacje niepoprawne, ale nasz kod może.
Zestaw pytań nr. 3 Typy generyczne Wyjątki OPRACOWALI: JAKUB GRYCZEWSKIKINGA ROSA DANIEL KAPTEJNYWOJCIECH ŁĘCZYCKI
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Refaktoryzacja „Any fool can write a code that computer understands. Good programers write code that human can understand” – Martin Fowler.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
Pierwsza aplikacja na Windows Phone. Dlaczego Windows Phone?
Programowanie Obiektowe – Wykład 6
Przypomnienie wiadomości – kilka zadań
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Kurs języka C++ – wykład 3 ( )
Programowanie Obiektowe – Wykład 7
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Dane, zmienne, instrukcje
Tworzenie wątków w Javie
Zapis prezentacji:

Dzisiejsze zajęcia będą wyjątkowe… Akademia C# 8 Dzisiejsze zajęcia będą wyjątkowe…

Wyjątkowo … obsługa wyjątków  Akademia C# 8 Wyjątkowo … obsługa wyjątków 

Nie lubimy wyjątków, ale …

Tak naprawdę to one nam pomagają: Określić lokalizację błędu w naszym programie Poprzez określenie typu wyjąku łatwiej domyślić się co jest źle Bo wiesz jaki rodzaj błędu wystąpił (np. NullReferenceException) Wyjątki pomagają ci określić sytuacje, w których twój kod zachowuje się w sposób niespodziewany

Wszystkie wyjątki dziedziczą po klasie Exception

Try-catch W momencie napotkaniu problemu w bloku try, instrukcje zostają przerwane i wykonywany jest kod z catch (o ile ten blok istnieje i czy typ odpowiada wyjątkowi).

Try-catch-finally Instrukcje z finally wykonają się zawsze!

Najpopularniejsze wyjątki ArithmeticException ArrayTypeMismatchException DivideByZeroException IndexOutOfRangeException InvalidCastException NullReferenceException OutOfMemoryException OverflowException StackOverflowException TypeInitializationException

DivideByZeroException Przykład int a = 0, b = 0; int wynik ; try { a = 5; b = 0; wynik = a / b; Console.WriteLine(wynik); } catch (DivideByZeroException ex) Console.WriteLine(ex.message);

FormatException Przykład Np. gdy próbujesz konwertować tekst (np. „abc”) na liczbę. int a; try { Console.WriteLine("Podaj a"); // podajemy na konsoli „abc” a = int.Parse(Console.ReadLine()); } catch (FormatException ex) Console.WriteLine("nie podałeś liczby");

InvalidCastException object o2 = new object(); try { int i2 = (int)o2; // Error } catch (InvalidCastException e) Nieoczekiwany typ danych. Klient przekazał do metody dane niewłaściwego typu. Np. gdy własny typ próbujesz sobie rzutować na int.

NullReferenceException object o2 = null; try { int i2 = (int)o2; // Error } catch (NullReferenceException e) Console.WriteLine("ojj wyjątek");

IndexOutOfRangeException int GetInt(int[] array, int index) { try return array[index]; } catch (System.IndexOutOfRangeException e) throw new System.ArgumentOutOfRangeException( "Parameter index is out of range.");

OverflowException byte liczba = 125; int x = liczba * 3; byte l = Convert.ToByte(x); Console.WriteLine(liczba);

Dobre rady: Unikaj przechwytywania wyjątku Exception. Używaj bardziej szczegółowych Wyjątków, które precyzyjniej opisują twoje nieprawidłowości.

Instrukcja throw; Zgłaszanie wyjątku za pomocą throw; throw new NullReferenceException(message);

Możesz tworzyć własne wyjątki public class Exception1 : Exception { public Exception1(string message) : base(message){} } public class SomeException : Exception1 { public SomeException(string message) : base(message){} }

Zadanie Stwórz obiekt kalkulator (obsługiwane działania + oraz -), który zabroni dzielenia przez zero oraz wykryje przepełnienie wartości. Sprawdź jakie maksymalne wartości można zapisać w poszczególnych typach liczbowych języka C#. Aplikacja ma działać w pętli umożliwiając wiele razy obliczenie sumy oraz różnicy.