/
rokhin
/
Small_test_programs_cpp
Обзор
Документация
Войти
/
rokhin
/
Small_test_programs_cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
exceptions_try_except_Statement copy.cpp
38 строк
1 KB
sergeyrokhin
Начало
03 фев 2025, 13:36
03 фев 2025, 13:36
e354b68
Код
Авторство
О чём код?
// exceptions_try_except_Statement.cpp // Пример использования try-except и try-finally #include <stdio.h> #include <windows.h> // для EXCEPTION_ACCESS_VIOLATION #include <excpt.h> int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep) { puts("in filter."); if (code == EXCEPTION_ACCESS_VIOLATION) { puts("caught AV as expected."); return EXCEPTION_EXECUTE_HANDLER; } else { puts("didn't catch AV, unexpected."); return EXCEPTION_CONTINUE_SEARCH; } } int main() { int* p = 0x00000000; // указатель на NULL puts("hello"); __try { puts("in try"); __try { puts("in try"); *p = 13; // вызывает исключение нарушения доступа } __finally { puts("in finally. termination: "); puts(AbnormalTermination() ? "\tabnormal" : "\tnormal"); } } __except(filter(GetExceptionCode(), GetExceptionInformation())) { puts("in except"); } puts("world"); return 0; }