Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Листинги / Листинги / 18_04_Except

.cpp
Скачиваний:
5
Добавлен:
24.03.2016
Размер:
826 б
Скачать
#include <windows.h>
#include <iostream.h>


DWORD filter_function(DWORD  ec, int &a)
{
    // проверяем код исключения
  if (ec == EXCEPTION_INT_DIVIDE_BY_ZERO)
  {
    cout << "Integer divide by zero exception." << endl;
    cout << "a = " << a << endl;

      // восстанавливаем ошибку
    a = 10;

      // возобновляем выполнение программы
    cout << "Continue execution." << endl;
    cout << "a = " << a << endl;

    return EXCEPTION_CONTINUE_EXECUTION;
  }

  else
      // прекращаем выполнение программы
    return EXCEPTION_EXECUTE_HANDLER;
}

int main()
{
  int a = 0;
  int b = 1000;

  __try
  {
    b /= a;
    cout << "b = " << b << endl;
  }
  __except(filter_function(GetExceptionCode(), a))
  {
    cout << "There was some exception." << endl;
  }

  return 0;
}
Соседние файлы в папке Листинги