C# spróbuj złapać

C# spróbuj złapać
Wyjątkiem jest stan lub zdarzenie, które miało miejsce w momencie wykonania, którego nie można oczekiwać podczas pisania kodu źródłowego. Aby przezwyciężyć tę sytuację, potrzebny jest specjalny kod wraz z obiektem wyjątku, aby to naprawić. Ten kod zawiera cztery bloki, z których dwa z nich to główne elementy, które muszą być używane do obsługi wyjątku w Try i Catch Blocks. Te cztery bloki są wyjaśnione poniżej.
  • Spróbuj: to określa blok próbny; Używamy instrukcji, która może spowodować każdy błąd w tym bloku próbnym.
  • Catch: Ten blok służy do złapania wyjątku wygenerowanego przez blok próbny. Obiekt wyjątku generuje błąd wewnątrz tego bloku.
  • Wreszcie: każdy kod, który chcesz wygenerować w każdym przypadku, jest zapisany w tym bloku.
  • Rzuć: Ten blok służy do ręcznego wyrzucenia wyjątku z bloku próbnego do bloku połowowego.

Przykład 1

Aby zaimplementować koncepcję TRY-Catch, najpierw użyjemy prostego programu w C SHARP. Najpierw zadeklarujemy szereg typów danych całkowitych. Deklarując tablicę, nie musimy deklarować wielkości tablicy. Ale po przypisaniu wartości indeks jest ustalany automatycznie. Tak więc w tym przypadku zostanie utworzona tablica indeksu 4.

Int [] arr = 1, 2, 3, 4, 5;

Aby wyświetlić wszystkie elementy tablicy, użyjemy pętli dla. Funkcja tablicy, ARR.Długość () służy do znalezienia całkowitej długości tablicy do góry. Ta funkcja jest wywoływana przez obiekt tablicy. Oświadczenie konsoli odgrywa swoją rolę w wyświetlaniu elementów tablicy. Ale użyjemy indeksu tablicy, która jest poza jej rzeczywistym rozmiarem. Na przykład rozmiar tablicy wynosi 4, ale użyjemy indeksu 7, aby wyświetlić jego wartość.

Konsola.WriteLine (ARR [7]);

Spowoduje to błąd; Wyjątek zostanie rzucony po wykonaniu tego wiersza.

Aby skompilować poprzedni kod, użyliśmy kompilatora MCS wymaganego w terminalu Linux, podczas gdy Mono jest używane do wykonywania kodu wykonywalnego z .EXE rozszerzenie.

Plik $ MCS.Cs
$ Plik mono.exe

Wynikową wartością będzie elementy obecne w tablicy wyświetlanej przez pętlę „for”. Ale co z ostatnią linią używaną do wyświetlania elementu na 7. indeksie tablicy? Indeks jest poza danym zakresem, więc wystąpi wyjątek.

Aby przezwyciężyć ten błąd lub uniknąć wyjątku, używamy koncepcji próby i złapania. Te dwa są narzędziami, których używamy w kodzie, które pomagają w sprawnym wykonywaniu kodu bez podkreślenia błędu, który powoduje zakończenie programu.

Zjawisko TRY-Catch działa, dzięki czemu instrukcja lub kod, który Twoim zdaniem może spowodować generowanie błędów w body Try. Na przykład zdanie używane do wyświetlania wartości 7. indeksu, napisanego w poprzednim kodzie, będzie używane wewnątrz ciała TRY.

Teraz zastosujemy to podejście do poprzedniego kodu. Wszystkie elementy są wyświetlane podobnie przez pętlę, pozostając wewnątrz zakresu tablicy. Jeśli chodzi o 7. element indeksu, napisz to instrukcja wewnątrz bloku próbowania.

Próbować
Konsola.WriteLine (ARR [7]);

Po ogłoszeniu korpusu spróbujemy, użyjemy bloku połowowego. Ten blok jest główną częścią, aby uniknąć wyjątku. Obsługuje błąd, wyświetlając komunikat o błędzie, a jednocześnie pomyślnie wykonując program. Wyświetlany komunikat jest właściwością obiektu, który należy do błędu typu indexoutofrangeException.

Złapać
Konsola.WriteLine („Wiadomość”, e.wiadomość);

Ta wiadomość będzie działać za pośrednictwem obiektu; Jedna wiadomość jest tym, czego użyliśmy, podczas gdy obiekt wyświetla drugi.

Możesz zobaczyć wynikową wartość. Komunikat o błędzie jest wyświetlany przez bloki Try-Catch.

Przykład nr 2

Zawsze używanie jednej próby i jednego bloku połowowego nie jest obowiązkowe. Możemy użyć więcej niż jednego bloku połowowego do jednego bloku próbnego. W kodzie wyjątku C ostre, wiele bloków połowowych jest używanych, gdy użytkownik nie ma pewności co do typu błędu. Użytkownik nie jest świadomy, który typ wyjątku może wystąpić. Dlatego używamy różnych bloków połowowych do obsługi każdego rodzaju błędów, które możemy napotkać.

Korzystając z wielu połowów, istnieje ostateczny blok. Ta część kodu jest wykonywana niezależnie od tego, czy występuje błąd.

Prosta składnia wielu połowów podano poniżej:

próbować

// dowolne instrukcje
Catch (OBJ)

// kod modułu obsługi
Catch (OBJ)

// kod modułu obsługi
Wreszcie

// Domyślny kod

W danym przykładzie wyświetlimy wartości wewnątrz tablicy w bloku wreszcie. Rozważ kod źródłowy, w którym deklarowana jest tablica 4 elementów. Wewnątrz korpusu próbowania użyliśmy pętli do pobrania każdego elementu tablicy i zastosowania danego warunku.

Konsola.WriteLine (arr [i] / arr i +1]);

Wewnątrz pętli każdy element jest pobierany i podzielony przez następną liczbę tablicy. Po korpusie spróbujemy, użyjemy sekwencji bloków połowowych, aby wymienić wyjątki różnych typów, które można wystąpić zgodnie z sytuacją.

Catch (indexoutofrangeException e)

Pierwszy blok dotyczy wyjątku poza zasięgiem wraz z obiektem. Zostanie wyświetlona wiadomość z obiektem.

Podobnie drugim blokiem połowowym będzie:

Catch (DividebyZeRexception e)

Ten wyjątek wystąpi, jeśli dowolna liczba zostanie podzielona przez zero.

Trzeci i ostatni typ połowów dotyczy parametrów zapisanych w argumencie w nadmiernej wartości zamiast zakresu deklarowanych zmiennych.

Catch (argumentoutofrangeException e)

Określając je, będziesz wiedział, że połów zostanie wykonany i wyświetli wartość.

Zmierzanie w kierunku wreszcie bloku. Zostanie wykonane, czy wyjątek pojawia się, czy nie. A pętla dla niego wyświetli wartości tablicy.

Wykorzystaliśmy warunek podziału, aby podzielić numer z obecną liczbą. Tak więc, jeśli zobaczymy wartości w drugiej pozycji i na 1 indeks, jest „0”, więc cokolwiek podzielone na 0, powoduje wyjątek.

Najpierw błąd jest zdefiniowany, a następnie końcowy blok wyświetli wszystkie wartości.

Wniosek

Proces obsługi wyjątków dotyczy identyfikacji błędów, a następnie ich rozwiązania. Odbywa się to za pomocą bloków TRY-Catch w kodzie źródłowym. Kod, który wątpisz, który może spowodować wyjątek, jest zapisywany w próbie, a blok połowowy usunie ten wyjątek. W przypadku pojedynczej próby używane są pojedyncze połowy i wiele połowów. Możesz użyć dowolnego obiektu wyjątków, który możesz według ciebie, może być pomocny dla możliwego wyjątku. Wdrożyliśmy przykłady po podejściu do pojedynczego połowu i wielu połowów.