Wikibooks: C Sharp/Wyjątki

Wyjątki to mechanizm w programowaniu obiektowym pozwalający łatwo wyłapać błędy. Uwalnia to nas od specjalnych zmiennych i wielu instrukcji warunkowych żeby sprawdzać czy nastąpił błąd. Jeśli nasz program nie ma w kodzie obsługi wyjątków to w pewnym sensie obsługuje je za nas framework tzn. wypisze...

Full description

Bibliographic Details
Format: Book
Language:Polish
Subjects:
Raz
Online Access:https://pl.wikibooks.org/wiki/C_Sharp/Wyj%C4%85tki
id ftwikibooks:plwikibooks:2445:12809
record_format openpolar
spelling ftwikibooks:plwikibooks:2445:12809 2023-07-23T04:21:37+02:00 Wikibooks: C Sharp/Wyjątki https://pl.wikibooks.org/wiki/C_Sharp/Wyj%C4%85tki pol pol Book ftwikibooks 2023-07-02T11:11:38Z Wyjątki to mechanizm w programowaniu obiektowym pozwalający łatwo wyłapać błędy. Uwalnia to nas od specjalnych zmiennych i wielu instrukcji warunkowych żeby sprawdzać czy nastąpił błąd. Jeśli nasz program nie ma w kodzie obsługi wyjątków to w pewnym sensie obsługuje je za nas framework tzn. wypisze komunikat że nastąpił nieobsłużony wyjątek podając jego nazwę np. IndexOutOfRangeException (w tłumaczeniu wyjątek poza zasięgiem indeksu). Do obsługi wyjątków używamy bloku try.catch try { //blok w którym może nastąpić wyjątek } catch(TypWyjątku identyfikatorWyjątku) { //instrukcje do wykonania jeśli wyjątek nastąpi w czasie wykonywania kodu z bloku try } finally { //instrukcje które wykonają się niezależnie od tego czy wyjątek zostanie wyrzucony czy nie //blok finally można pominąć } Oczywiście można umieścić więcej bloków catch jeśli chcemy. Każdy wtedy będzie się zajmował innym typem wyjątków. Należy pamiętać że istnieje hierarchia wyjątków Exception SystemException IndexOutOfRangeException Należy wyjątki obsługiwać od najniższych do najwyższych w hierarchii. Jeśli pomieszamy hierarchię to kompilator zgłosi błąd że ten sam wyjątek chcemy obsłużyć drugi raz. Przykład using System public class main { public static int Main() { int[] tablica = {1 2 3 4 5} try { tablica[5]=6 } catch(IndexOutOfRangeException) { Console.WriteLine( Nastąpiło odwołanie poza tablicę!!! ) } return 0 } } = Wyrzucanie wyjątków = Możemy również sami wyrzucać wyjątki. Robimy to za pomocą instrukcji throw using System class Program { void KupZiemniaki(int ile) { if(ile prognaw C Sharp [[[[./Interfejsy/]] Book sami WikiBooks - Open-content textbooks Blok ENVELOPE(13.399,13.399,66.650,66.650) Raz ENVELOPE(140.015,140.015,-66.660,-66.660)
institution Open Polar
collection WikiBooks - Open-content textbooks
op_collection_id ftwikibooks
language Polish
description Wyjątki to mechanizm w programowaniu obiektowym pozwalający łatwo wyłapać błędy. Uwalnia to nas od specjalnych zmiennych i wielu instrukcji warunkowych żeby sprawdzać czy nastąpił błąd. Jeśli nasz program nie ma w kodzie obsługi wyjątków to w pewnym sensie obsługuje je za nas framework tzn. wypisze komunikat że nastąpił nieobsłużony wyjątek podając jego nazwę np. IndexOutOfRangeException (w tłumaczeniu wyjątek poza zasięgiem indeksu). Do obsługi wyjątków używamy bloku try.catch try { //blok w którym może nastąpić wyjątek } catch(TypWyjątku identyfikatorWyjątku) { //instrukcje do wykonania jeśli wyjątek nastąpi w czasie wykonywania kodu z bloku try } finally { //instrukcje które wykonają się niezależnie od tego czy wyjątek zostanie wyrzucony czy nie //blok finally można pominąć } Oczywiście można umieścić więcej bloków catch jeśli chcemy. Każdy wtedy będzie się zajmował innym typem wyjątków. Należy pamiętać że istnieje hierarchia wyjątków Exception SystemException IndexOutOfRangeException Należy wyjątki obsługiwać od najniższych do najwyższych w hierarchii. Jeśli pomieszamy hierarchię to kompilator zgłosi błąd że ten sam wyjątek chcemy obsłużyć drugi raz. Przykład using System public class main { public static int Main() { int[] tablica = {1 2 3 4 5} try { tablica[5]=6 } catch(IndexOutOfRangeException) { Console.WriteLine( Nastąpiło odwołanie poza tablicę!!! ) } return 0 } } = Wyrzucanie wyjątków = Możemy również sami wyrzucać wyjątki. Robimy to za pomocą instrukcji throw using System class Program { void KupZiemniaki(int ile) { if(ile prognaw C Sharp [[[[./Interfejsy/]]
format Book
title Wikibooks: C Sharp/Wyjątki
spellingShingle Wikibooks: C Sharp/Wyjątki
title_short Wikibooks: C Sharp/Wyjątki
title_full Wikibooks: C Sharp/Wyjątki
title_fullStr Wikibooks: C Sharp/Wyjątki
title_full_unstemmed Wikibooks: C Sharp/Wyjątki
title_sort wikibooks: c sharp/wyjątki
url https://pl.wikibooks.org/wiki/C_Sharp/Wyj%C4%85tki
long_lat ENVELOPE(13.399,13.399,66.650,66.650)
ENVELOPE(140.015,140.015,-66.660,-66.660)
geographic Blok
Raz
geographic_facet Blok
Raz
genre sami
genre_facet sami
_version_ 1772187482741276672