Исключения. Исключения OLE
Методы и средства обработки исключений в OLE совпадают с методами обработки других исключений. Дополнительные сведения об обработке исключений см. в статье "Современные рекомендации C++ по исключениям и обработке ошибок".
Все объекты исключений являются производными от абстрактного базового класса CException
. MFC предоставляет два класса для обработки исключений OLE:
COleException Для обработки общих исключений OLE.
COleDispatchException Для создания и обработки исключений диспетчеризации OLE (автоматизации).
Разница между этими двумя классами — это объем информации, которую они предоставляют и где они используются. COleException
имеет общедоступный элемент данных, содержащий код состояния OLE для исключения. COleDispatchException
предоставляет дополнительные сведения, в том числе следующие:
Код ошибки для конкретного приложения
Описание ошибки, например "Диск полный"
Контекст справки, который приложение может использовать для предоставления дополнительных сведений пользователю
Имя файла справки приложения
Имя приложения, создающего исключение
COleDispatchException
предоставляет дополнительные сведения, чтобы его можно было использовать с такими продуктами, как Microsoft Visual Basic. Описание словесной ошибки можно использовать в окне сообщения или в другом уведомлении; Сведения справки можно использовать для реагирования пользователя на условия, вызвавшие исключение.
Две глобальные функции соответствуют двум классам исключений OLE: AfxThrowOleException и AfxThrowOleDispatchException. Используйте их для создания общих исключений OLE и исключений отправки OLE соответственно.