C++ Try-Catch-Finally

C Try Catch Finally



C++ предоставляет метод «try-catch» для обработки исключений. Когда в программе C++ возникает исключение, эти методы «try-catch» помогают переместить управление от одной части программного кода к другой. Исключением является глюк, возникающий во время работы программы. Когда во время выполнения программы возникает необычная ситуация, например попытка деления на ноль, возникает исключение C++, и мы справляемся с этой ситуацией, просто используя метод «try-catch» в наших кодах. Он содержит три ключевых слова: «попробовать», «поймать» и «бросить». Ключевое слово «throw» используется для генерации исключения в других частях кода. Программирование на C++ не облегчает нам использование ключевого слова «finally», но мы можем использовать ключевые слова «try», «catch» и «throw» в кодах C++.

Пример 1:

Сюда включен «iostream» — заголовочный файл, в котором объявлено несколько функций. Мы используем эти функции, объявленные в этом заголовочном файле, в нашем коде, поэтому включаем этот заголовочный файл. После этого у нас есть файл «std», который помещается сюда, поскольку в нем также определены такие функции, как «cin» и «cout». Нам не нужно вводить «std» для всех этих функций, если мы добавим «пространство имен std» в начале нашего кода. После этого здесь вызывается функция main(), которую также называют кодом драйвера программы на C++.

Затем мы используем ключевое слово «try», в котором инициализируем «my_num1» значением «35». Здесь это переменная типа данных «int». Теперь мы помещаем эту переменную внутри «if» и помещаем условие, гласящее, что «my_num1» должно быть больше или равно «98». Если данное условие удовлетворено, оно переходит внутрь «if» и выполняет оператор, написанный здесь. Мы используем «cout» и вставляем сообщение, которое будет отображаться, когда условие выполнено.







После этого мы используем ключевое слово «throw» после размещения «else». В этом ключевом слове «throw» мы передаем «my_num1» в качестве параметра. Ниже мы добавляем часть «catch». Мы вставляем «my_num2» в качестве параметра «catch()», а затем снова используем «cout» внутри этой части «catch». Эта часть выполняется только тогда, когда в части «try» возникает исключение.



Код 1:



#include
с использованием пространство имен стандартный ;
интервал основной ( ) {
пытаться {
интервал мой_номер1 '=' 35 ;
если ( мой_номер1 >= 98 ) {
расчет << «Доступ сюда предоставлен». ;
} еще {
бросать ( мой_номер1 ) ;
}
}
ловить ( интервал мой_номер2 ) {
расчет << «Доступ сюда запрещен». << конец ;
расчет << «Номер:» << мой_номер2 ;
}
возвращаться 0 ;
}

Выход:
Число, которое мы ввели, — «35», что меньше «98». Таким образом, здесь возникает исключение и отображается часть «catch()». Доступ к части «try» запрещен.





Пример 2:

Мы помещаем сюда заголовочный файл «iostream» и «namespace std». После этого мы создаем функцию «division()», в которую помещаем два параметра: «числитель» и «знаменатель» типа данных «int». Мы устанавливаем тип данных этой функции «деление» на «двойной».



Ниже мы добавляем «if()», в котором добавляем условие, что знаменатель равен нулю. После этого используем ключевое слово «throw» и набираем туда сообщение. Это сообщение отображается всякий раз, когда в этом коде возникает исключение в соответствии с условием. Ниже мы используем ключевое слово «return», в которое помещаем «числитель/знаменатель». Итак, он возвращает результат деления. Теперь вызывается функция «main()».

После этого «num1» и «num2» инициализируются как переменные «int» и им присваиваются «89» и «0» соответственно. Затем мы инициализируем «результат» типа данных «double». Здесь мы используем ключевое слово «try». В этой части мы добавляем переменную «result» и присваиваем ей функцию «division()». Мы передаем в эту функцию два параметра: «num1» и «num2». Ниже мы отображаем «результат», который мы получаем после применения функции «division()». После этого мы также используем «catch» и помещаем «const char* msg» для отображения ранее добавленного сообщения.

Код 2:

#include
с использованием пространство имен стандартный ;
двойной разделение ( интервал числитель, интервал знаменатель ) {
если ( знаменатель == 0 ) {
бросать «Деление на ноль здесь невозможно!» ;
}
возвращаться ( числитель / знаменатель ) ;
}
интервал основной ( ) {
интервал число1 '=' 89 ;
интервал число2 '=' 0 ;
двойной результат '=' 0 ;
пытаться {
результат '=' разделение ( номер1, номер2 ) ;
расчет << результат << конец ;
} ловить ( константа голец * сообщение ) {
Серр << сообщение << конец ;
}
возвращаться 0 ;
}

Выход:
Число, которое мы ранее вставили в качестве знаменателя, равно «0». Итак, в коде возникает исключение и отображается данное сообщение.

Пример 3:

Здесь создается функция «умножение()», в которую мы помещаем «значение» и «множитель» в качестве параметров типа данных «int». Затем мы используем «if», в котором добавляем условие множителя, равного нулю. Затем там, где мы добавляем оператор, ставится «throw». Затем у нас есть «возврат», куда мы помещаем переменные «значение * множитель», которые мы ранее объявили. Итак, здесь он возвращает результат умножения.

После этого мы вызываем «main()», где объявляем «int value1» и «int value2» со значениями «34» и «0» соответственно. Здесь также объявляется «int m_res», а затем вызывается функция «multiplication()». После выполнения этой функции результат теперь сохраняется в переменной «m_res», а затем отображается. Впоследствии мы используем функцию «catch» и вставляем «const char* msg», чтобы отобразить сообщение, которое мы ранее добавили в части «throw».

Код 3:

#include
с использованием пространство имен стандартный ;
двойной умножение ( интервал ценить , интервал множитель ) {
если ( множитель == 0 ) {
бросать «Мы не умножаем значение на ноль!» ;
}
возвращаться ( ценить * множитель ) ;
}
интервал основной ( ) {
интервал значение1 '=' 3. 4 ;
интервал значение2 '=' 0 ;
интервал m_res ;
пытаться {
m_res '=' умножение ( значение1, значение2 ) ;
расчет << m_res << конец ;
} ловить ( константа голец * сообщение ) {
Серр << сообщение << конец ;
}
возвращаться 0 ;
}

Выход :
Поскольку ранее введенное нами значение имеет множитель «0», в коде есть исключение, из-за которого здесь отображается уведомление.

Пример 4:

Здесь мы создаем функцию multiply() и передаем «number1» и «number2» в качестве параметров типа данных «int». Затем мы используем оператор «if», чтобы добавить к нему условие, которое представляет собой множитель, который меньше или равен нулю. После этого оператор добавляется там, где должно быть слово «throw». Результат умножения затем возвращается в раздел «возврат», куда мы вставляем переменную «число1 * число2», которую мы ранее объявили.

Впоследствии мы вызываем функцию «main()» и присваиваем значения «34» и «12» «int newNumber1» и «int newNumber2» соответственно. Здесь функция «multiply()» вызывается после объявления «int mResult». Теперь результат этой функции сохраняется в переменной «mResult» и отображается следующим образом. Затем мы используем функцию «catch» и добавляем «const char* msg» для отображения сообщения, которое мы написали в разделе «throw».

Код 4:

#include
с использованием пространство имен стандартный ;
двойной умножать ( интервал номер 1 , интервал номер 2 ) {
если ( номер 2 <= 0 ) {
бросать «Мы не умножаем значение на нулевое или отрицательное значение!» ;
}
возвращаться ( номер 1 * номер 2 ) ;
}
интервал основной ( ) {
интервал новыйNum1 '=' 3. 4 ;
интервал новыйNum2 '=' 12 ;
интервал mResult ;
пытаться {
mResult '=' умножать ( новыйNum1, новыйNum2 ) ;
расчет << «Результат умножения равен» << mResult << конец ;
}
ловить ( константа голец * сообщение ) {
Серр << сообщение << конец ;
}
возвращаться 0 ;
}

Выход:
Мы добавляем значение «12», к которому мы добавляем условие. Итак, функция «multiply()» выполняется, поскольку условие неверно. Отображается результат умножения. Здесь выполняется часть «попробуй».

Заключение

Концепция «try-catch» и коды в этом руководстве подробно изучены. Мы тщательно изучили концепцию «try-catch» и показали, как она работает в программировании на C++. Мы определили, что термин «throw» создает исключение при обнаружении ошибки, что позволяет нам написать наш уникальный код. Используя выражение «catch», мы можем указать блок кода, который будет выполняться, если в части «try» появится исключение.