Вот простой пример кода на C++, который выполняет вычисления по формуле y = (2 sin(X) + 3 cos(Y)) / (X² - Y²) с обработкой исключений. Мы будем использовать стандартные исключения для обработки деления на ноль и других ошибок.
#include <iostream>
#include <cmath>
#include <stdexcept>
double calculateY(double X, double Y) {
// Проверка на деление на ноль
double denominator = X * X - Y * Y;
if (denominator == 0) {
throw std::runtime_error("Ошибка: Деление на ноль.");
}
// Вычисление по формуле
return (2 * sin(X) + 3 * cos(Y)) / denominator;
}
int main() {
double X, Y;
std::cout << "Введите значение X: ";
std::cin >> X;
std::cout << "Введите значение Y: ";
std::cin >> Y;
try {
double result = calculateY(X, Y);
std::cout << "Результат y = " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cout << e.what() << std::endl; // Вывод сообщения об ошибке
}
return 0;
}
▎Объяснение кода:
1. Функция calculateY:
– Принимает два аргумента X и Y.
– Вычисляет знаменатель X² - Y² и проверяет, равен ли он нулю. Если равен, выбрасывает исключение std::runtime_error.
– Если деление возможно, вычисляет и возвращает значение y по заданной формуле.
2. Функция main:
– Запрашивает у пользователя ввод значений X и Y.
– В блоке try вызывает функцию calculateY.
– Если возникает исключение, оно перехватывается в блоке catch, и выводится соответствующее сообщение об ошибке.
Этот код прост и понятен, а также эффективно обрабатывает возможные ошибки при вычислении.