Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Dzisiejsze zajęcia będą wyjątkowe…"— Zapis prezentacji:

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

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

3 Nie lubimy wyjątków, ale …

4 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

5 Wszystkie wyjątki dziedziczą po klasie Exception

6 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).

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

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

9 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);

10 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");

11 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.

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

13 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.");

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

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

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

17 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){} }

18 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.


Pobierz ppt "Dzisiejsze zajęcia będą wyjątkowe…"

Podobne prezentacje


Reklamy Google