Gdzie występuje wyjątek
Za każdym razem, gdy uruchamiamy dowolne oprogramowanie, oczekujemy, że nasze oprogramowanie działa poprawnie w każdej sytuacji. Ale w niektórych przypadkach niektóre zdarzenia występują, gdy normalny przepływ wykonywania naszego oprogramowania jest zatrzymany. Tak więc, kiedy mówimy, że nasze oprogramowanie musi być solidne, oznacza to, że oprogramowanie działa poprawnie w każdej sytuacji.
Obsługa wyjątków
Obsługa wyjątków C ++ służy do systematycznego obsługi warunku błędu w programie, podejmując niezbędne działanie. Korzystając z obsługi wyjątków, możemy łatwo zarządzać i odpowiadać na błąd czasu działania.
Spróbuj, złap, rzuć
Składnia
próbować
Catch (type1 arg)
Catch (type2 arg)
----------
Catch (typen arg)
Wyjaśnienie
Po pierwsze, używamy słowa kluczowego próbować. Po zakończeniu bloku próbnego musimy napisać złapać blokuj natychmiast. Możemy pisać wiele bloków połowowych w sekwencji. Ale tam, gdzie wypróbuj blok, wszystkie bloki połowowe muszą być natychmiast zapisane. Jeśli nie napiszemy bloku złapania natychmiast po bloku próbnym, może wystąpić błąd. Używamy rzucić Słowo kluczowe wewnątrz bloku próbowania.
Przykład programowania 1
# włączać
Za pomocą przestrzeni nazw Std;
int main ()
Cout<< “ Exception Handling Program :” ;
próbować
Rzuć 30;
Cout<< “ \n Try ” ;
Catch (int e)
Cout<< “ \n Exception no : ” << e ;
Cout<< “ \n Testing The Last Line ” ;
Wyjście
Wyjaśnienie programowania
W tym przykładzie programowania staramy się pokazać, jak występuje wyjątek i jak sobie z tym poradzić. Wewnątrz głównej funkcji po napisaniu instrukcji wyjściowej używanej próbować blok. Rzucić Słowo kluczowe jest używane wewnątrz bloku próbowania. Po wyrzuceniu słowa kluczowego używamy numeru 30. Może to być ciąg, podwójny lub float- dowolna stała, której możemy użyć. Następnie piszemy oświadczenie Cout. Ale tej linii nie można wykonać po wykonaniu rzutu. Po zakończeniu bloku próbnego natychmiast piszemy blok złapania. Wewnątrz bloku catch piszemy linia (int e). Za pomocą słowa kluczowego rzucamy, którą wartość wyrzucamy, ta wartość wejdzie do zmiennej E. Po zakończeniu bloku połowowego piszemy instrukcję wyjściową „\ n Testowanie ostatniego wiersza”. Teraz pytanie brzmi, kiedy ta linia zostanie wykonana po instrukcji wyjściowej wewnątrz bloku połowowego?
Zasady próby, łapania i rzutów
Przykład programowania 2
# włączać
Za pomocą przestrzeni nazw Std;
int main ()
Cout<< “ Exception Handling Program :” ;
próbować
if (i == 1)
rzucać 1;
if (i == 2)
Rzuć 2;
if (i == 3)
Rzuć 3;
Cout<< “ \n Try ” ;
Catch (Double E)
Cout<< “ \n Exception no : ” << e ;
Catch (int e)
Cout<< “ \n Exception no : ” << e ;
Cout<< “ \n Testing The Last Line ” ;
Wyjście
F. Możemy napisać wiele instrukcji rzutów w jednym bloku próbnym.
Przykład programowania 3
# włączać
za pomocą przestrzeni nazw Std;
int main ()
int i = 3;
Cout<< “ Exception Handling Program :” ;
próbować
if (i == 1)
rzucać 1;
if (i == 2)
Rzuć 2;
if (i == 3)
Rzuć 3;
Cout<< “ \n Try ” ;
Catch (int e)
Cout<< “ \n Exception no : ” << e ;
Cout<< “ \n Testing The Last Line ” ;
Wyjście
G. Możemy napisać rzut rzut w bloku próbnym bez podawania wartości rzutu.
Przykład programowania 4
# włączać
za pomocą przestrzeni nazw Std;
int main ()
Cout<< “ Exception Handling Program :” ;
int i = 3;
próbować
if (i == 3)
rzucić ;
Cout<< “ \n Try ” ;
catch (int)
Cout<< “ \n Exception no : ” ;
Cout<< “ \n Testing The Last Line ” ;
Wyjście
Wyjaśnienie
W tym przypadku piszemy słowo kluczowe bez podawania żadnej wartości, wówczas program zostanie zakończony, ponieważ właściwe obsługa wyjątków nie nastąpi tutaj. W rezultacie Block Catch nie zostanie wykonany. W czasie kompilacji nie będzie błędu. Ale w czasie wykonywania program zostanie zakończony komunikatem „Zakończenie wywoływane bez aktywnego wyjątku”.
Wniosek
Omawiając szczegółowe informacje na temat obsługi wyjątków, dowiadujemy się tutaj, że jeśli w naszym programie nastąpi jakakolwiek nienormalna sytuacja, program będzie musiał być gotowy do zarządzania tą nienormalną sytuacją.