Jak rzucić wyjątek C ++

Jak rzucić wyjątek C ++
Rzucanie wyjątku C ++ jest ważną techniką, która pomaga poprawić ogólną strukturę i stabilność kodu. Wyjątki C ++ są prostymi obiektami używanymi do wskazania warunku błędu, które wystąpiły poza zakresem tego, co można obsłużyć przez normalne wykonanie.

W tym artykule podano szczegółowe informacje na temat tego, jak to zrobić Rzuć wyjątek C ++, koncentrując się na standardowych bibliotekach Biblioteka i wykorzystanie podstawowego próbuj złapać Bloki.

Jak rzucić wyjątek C ++

Zanim zacznie się nauczyć, jak to zrobić Rzuć wyjątek C ++, Ważne jest, aby zrozumieć, jaki jest wyjątek. Obiekt używany do oznaczenia nieprawidłowego stanu jest wyjątkiem. Użytkownicy C ++ używają go, gdy pojawia się coś nieoczekiwanego lub poza możliwościami programu. Istnieje kilka różnych sposobów zdefiniowania, kiedy i jak należy rzucić wyjątek. Ogólnie rzecz biorąc, możesz użyć, gdy nastąpi działanie, które można uznać za nieprawidłową sytuację. Należy pamiętać, że kiedy Wyjątek jest rzucany, nigdy nie powinien być używany do wskazania celowego działania użytkownika.

Możesz przenieść kontrolę między częściami programu, używając wyjątków. Próbować, Złapać, I Rzucić to trzy podstawowe słowa kluczowe dla Obsługa wyjątków C ++. Kiedy pojawi się problem, program będzie rzuć wyjątek używając rzucić Słowo kluczowe. Oprogramowanie jest używane przez oprogramowanie do złapania wyjątku w miejscu, w którym należy się rozwiązywać. Termin złapać oznacza uchwycenie wyjątku. A próbować Block określa sekcję kodu, która wywoła pewne wyjątki. Po nim dodaje się blok lub blok.

Dziedziczą i modyfikując funkcjonalność klasy wyjątków, możesz tworzyć własne wyjątki. Poniższy przykład pokazuje, jak zbudować własny wyjątek za pomocą STD :: wyjątek klasa w sposób standardowy.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
struct myException: publiczny wyjątek
const char * co () const throw ()
Zwróć „wyjątek C ++”;

;
int main ()
próbować
rzuć myException ();
catch (myException & e)
STD :: Cout << "My exception caught" << std::endl;
STD :: Cout << e.what() << std::endl;
catch (std :: wyjątek i e)

W powyższym przykładzie, Co() jest metodą publiczną dostarczoną przez klasę wyjątków w tym przypadku, a wszystkie klasy wyjątków dziecka ją zastąpiły. To zapewnia podstawową przyczynę wyjątku.

Wyjście

Jakiś wyjątek powinno być rzucony Wewnątrz konstruktora C ++, gdy budowanie obiektów nie powiedzie się, ponieważ nie ma środków do odzyskania. Konstruktorzy muszą dodatkowo Rzuć wyjątki C ++ Aby wskazać dowolne parametry wejściowe, które są poza zakresem lub z wartościami, które są niedozwolone. Kody zwrotne nie mogą być używane w konstruktorach C ++, ponieważ brakuje im typu powrotu. Dlatego zaleca się to Konstruktorzy rzucają wyjątki wskazać awarię.

Do Rzuć wyjątek C ++ i zakończ kod konstruktora, użyj rzucić oświadczenie.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int addpositiveint (int x, int y)

if (x<0 || y<0)
Throt Std :: Invalid_argument („Argumenty powinny być pozytywne”);
return (x + y);

int main ()

próbować
cout << AddPositiveInt(-1, 2);
Catch (std :: invalid_argument & e)
Cerr << e.what() << endl;
return -1;
powrót 0;

W tym przykładu rzutu C ++, AddPOSITIVEINT () Metoda jest stosowana z bloku próba funkcji main (). Nieprawidłowy wyjątek argumentu jest rzucany przez AddPOSITIVEINT () funkcja, jeśli którykolwiek z dwóch oczekiwanych parametrów, liczby całkowite X I y, są negatywne. Standardowe biblioteki plik nagłówka zawiera definicję STD :: nieprawidłowe klasa argumentów. Ta klasa określa rodzaje obiektów, które mogą być wyrzucone jako wyjątki i logy problemy C ++ wywołane przez nieprawidłowe wartości parametrów. główny() Blok złapania funkcji przechwytuje i zajmuje się nieprawidłowym wyjątkiem argumentu.

Wyjście

Kiedy rzucić wyjątek C ++

Wiedząc, kiedy rzuć wyjątek to pierwszy krok, ale jak go wdrożyć? Standardowa biblioteka obejmuje szereg klas w ramach biblioteka, do której często są używane Rzuć wyjątki. Zawierają pewne ważne informacje, aby poinformować użytkownika o wszelkiego rodzaju błędach, takich jak komunikat o błędzie i typ błędu. Po zidentyfikowaniu odpowiedniej klasy mogą następnie użyć „rzucić”Słowo kluczowe, aby rzucić wyjątek.

Wniosek

Rzucanie wyjątku C ++ to prosty proces, który obsługuje wszelkie błędy w programie. Ważne jest, aby użyć biblioteka podczas rzucania wyjątkami i korzystania z „próbuj złapać”Blokuj strukturę, aby znaleźć i poradzić sobie odpowiednio. Możesz być pewien, że Twój kod może uprzejmie poradzić sobie z błędami, jeśli to zrobisz.