Поделиться через


Исключения. Исключения OLE

Методы и средства обработки исключений в OLE совпадают с методами обработки других исключений. Дополнительные сведения об обработке исключений см. в статье "Современные рекомендации C++ по исключениям и обработке ошибок".

Все объекты исключений являются производными от абстрактного базового класса CException. MFC предоставляет два класса для обработки исключений OLE:

  • COleException Для обработки общих исключений OLE.

  • COleDispatchException Для создания и обработки исключений диспетчеризации OLE (автоматизации).

Разница между этими двумя классами — это объем информации, которую они предоставляют и где они используются. COleException имеет общедоступный элемент данных, содержащий код состояния OLE для исключения. COleDispatchException предоставляет дополнительные сведения, в том числе следующие:

  • Код ошибки для конкретного приложения

  • Описание ошибки, например "Диск полный"

  • Контекст справки, который приложение может использовать для предоставления дополнительных сведений пользователю

  • Имя файла справки приложения

  • Имя приложения, создающего исключение

COleDispatchException предоставляет дополнительные сведения, чтобы его можно было использовать с такими продуктами, как Microsoft Visual Basic. Описание словесной ошибки можно использовать в окне сообщения или в другом уведомлении; Сведения справки можно использовать для реагирования пользователя на условия, вызвавшие исключение.

Две глобальные функции соответствуют двум классам исключений OLE: AfxThrowOleException и AfxThrowOleDispatchException. Используйте их для создания общих исключений OLE и исключений отправки OLE соответственно.

См. также

Обработка исключений