Kurs C
menu C#
Wyjątki |
Wyjątki są to błędy w programie, które mogą wstąpić podczas działania aplikacji. Jest tego masa najprostszym przykładem jest dzielenie przez zero. Jeśli będziemy chcieli podzielić coś przez zero, to nasz program się wysypie. Dlatego każdy programista od najmłodszych lat szkolnych dawał instrukcję if sprawdzającą czy mianownik jest 0. To jest najprostszy przykład tego co to jest wyjątek. Oczywiście z czasem zauważono, że takich wyjątków jest sporo więc nadano in nazwy i przyporządkowano do odpowiednich typów i klas. Sami nie musimy deklarować żadnych if'ów wystarczy, że znamy nazwę wątku, który zostanie wygenerowany dla odpowiedniej klasy. Używa się tego za pomocą słowa try { instrukcje}. Wszystko co mieści się w nawiasie klamrowym po słowie try, może generować wyjątek. Oczywiście moglibyśmy wstawić tam instrukcję if i sami zgłosić wątek, którego nie ma nigdzie zdefiniowanego używając słowa throw. Po zgłoszeniu wyjątku program zostaje przeniesiony do catch, gdzie zostanie wykonana instrukcja (np. wyświetlenie "nie dziel przez zero"), która przewidziała taki wyjątek. Gdyby nie został przechwycony problem dzielenia, to program zamiast wyświetlić tekst np: "nie dziel przez zero" zostałby zatrzymany. W językach Java przechwytywanie wyjątków są już obowiązkowe. Najłatwiej zrozumieć to na przykładzie, wywołajmy wyjątek dla parsowania stringa na liczbę. Taki wyjątek nosi nazwę FormatException. Stwórzmy nowy projekt dajmy pole tekstowe Labe, textbox'al i przycisk: Kliknij na przycisk i wpisz taki kod: Widać, że w pole textBox wpisujemy jakieś dane i próbujemy je przerobić na liczbę za pomocą Single::Parse(num_string); jeśli nasze dane mają jakieś literki, kropki i inne znaki, to zostanie przesłany błąd o nazwie FormatException. Można ten błąd przechwycić i wyświetlić za pomocą metody Message ex->Message. Jeśli natomiast program ma nie wychwyci żadnego błędu, to wyświetli się liczba. |