Как да приложим обработка на изключения в C ++?



Тази статия ще ви помогне да разберете какво е обработка на изключения и как да приложите обработка на изключения в C ++ с практическа демонстрация.

Изключения са ненормални условия по време на изпълнение или време на компилиране. е много важна концепция в c ++. Тази статия ще ви запознае с обработката на изключения в C ++ заедно с различните му видове.

Следните указания ще бъдат обхванати в тази статия,





Нека започнем тогава,

Обработка на изключения в C ++

Видове изключения

Има два вида изключения,



Изключение по време на изпълнение

Това е изключение, уловено по време на изпълнение.

Изключение по време на компилация



Това е изключение, уловено по време на компилация.

Продължавайки с тази статия за обработка на изключения в C ++,

Какво е обработка на изключения?

Грешките нарушават нормалното изпълнение на програма. Обработката на изключения е много необходима и това е процесът на обработка на грешки или изключения. Той гарантира, че изпълнението на програмата не се влияе от изключенията и бавно се справя с тях, без да причинява проблеми с изпълнението на програмата.

Когато обмисляте обработка на изключения, има три термина, свързани с него,

Опитвам

Кодът в този блок е като пробен код, който може да създаде изключение. Това изключение се улавя вътре в блока за хващане.

Хвани

Кодът в този блок се изпълнява, когато кодът в блоковете try извежда изключение.

Java команда за прекратяване на програмата

Хвърли

Тази ключова дума се използва за изхвърляне на изключение, когато се срещне. Изключението се изпраща на манипулатора на изключения.

Синтаксис:

Кодът в блока try се изпълнява. Ако има генерирана грешка, тогава ключовата дума хвърля изключението към манипулатора на изключения, т.е. блока catch. След това блокът catch изпълнява кода, който е вътре в неговия блок, като по този начин обработва изключението.

Нека да разгледаме примерния код за обработка на изключения в c ++

Примерен код

#include използвайки пространство от имена std try {// код за try throw & ldquoexception & rdquo} catch (изключение) {// код за catch} int main () {int x = 1 try {cout<< 'Try Block: '<

Изход:

Изход - обработка на изключения в C ++ - Edureka

Обяснение

Тази програма демонстрира обработка на изключения. Имаме променлива x, на която е присвоена стойност 1. След това имаме началото на блока try. В този блок имаме оператор if с условието x<10.

В нашия случай условието е вярно, тъй като x е едно. След това програмата хвърля изключение и контролата се премества, за да улови блока. Изпълняваме условието в частта за хващане и излизаме от блока.

улов (...) {цена<< 'Default Exceptionn'<

И накрая, изпълняваме останалите изрази след блока за хващане и програмата за излизане.

Може да има множество изявления за улов, в зависимост от броя на възможните изключения.

Продължавайки с тази статия за обработка на изключения в C ++,

Неуспешно блокиране на блока

Помислете за предишната програма, ако вместо x ключовата дума throw хвърля „ABC“, тогава функцията catch няма да може да се справи с нея. Ще покаже грешка,

В такъв случай може да се покаже нашето спечелено съобщение за грешка.

За да разрешим това, трябва да добавим функция за улавяне по подразбиране към кода, за да се справим с такива проблеми.

#include използвайки пространство от имена std int main () {int x = 1 try {cout<< 'Try Block: '<

Изход:

Обяснение:

Този код е подобен на предишния. Единствената промяна е, че хвърленото изключение е от тип char. Това води до това, че нашата функция за улов е безполезна. Така че ние включихме функция за улавяне по подразбиране.

Ако нито един от операторите за хващане не съвпада, тогава се изпълнява уловът по подразбиране.

Множество блокове за улов

Може да има множество блокове за хващане от един блок за опитване.

Ето пример,

#include използвайки пространство за имена std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Изход:

Обяснение:

В горния код използваме множество изявления за улов. Имаме функционален тест, който генерира изключение. В първия тестов случай стойността е 10. Тъй като 10 е по-голямо от нула, „а“ символът се изхвърля и той се улавя от втората функция за хващане.

Във втория случай стойността е по-малка от 0, така че стойността -1 се изхвърля и се улавя чрез цяло число изключение

Обработка на изключения в базовия и производен клас:

урок за големи данни за начинаещи

Ако се хванат изключенията на базовия и производния клас, тогава хващането на производен клас трябва да се изпълни преди базовия клас.

Ето някои изключения:

  • std :: изключение

  • error_error

  • runtime_error

  • bad_alloc

  • bad_cast

  • лошо_изключение

С това стигаме до края на този блог на тема „Обработка на изключения в C ++“. Надявам се, че сте намерили това информативно и полезно, следете за още уроци по подобни теми. Можете също така да разгледате нашата програма за обучениеo можете да получите задълбочени познания за jQuery заедно с различните му приложения за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.

Имате въпрос към нас? Споменете ги в раздела за коментари в този блог и ние ще се свържем с вас.