Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
984 б
Скачать
#include <iostream>
#include <locale>
using namespace std;

class T1 {};
class T2 {};
class T3 {};

void f_original() throw(T1, T2, T3) {
    // Оригинальная функция со спецификацией исключений
}

void f_simulated() {
    try {
        // Тело функции
    } catch (T1&) {
        throw;
    } catch (T2&) {
        throw;
    } catch (T3&) {
        throw;
    } catch (...) {
        // Вызываем unexpected для всех других исключений
        throw;
    }
}

int main() {
    setlocale(LC_ALL, "ru_RU.UTF-8");
    
    cout << "Спецификация throw(T1,T2,T3) означает, что функция" << endl;
    cout << "может генерировать только исключения типов T1, T2, T3." << endl;
    cout << "При генерации других типов вызывается unexpected()." << endl;
    
    return 0;
}
Соседние файлы в папке Лаба7