ErrorInfo

  • Автор темы obzhora
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

obzhora

Гость
#1
Нужен совет по следующей теме.
Есть сервер, содержащий коклассы, реализующие dispatch-интерфейсы (MFC).
Каждый кокласс должен поддерживать выдачу полной информации о произошедшей
ошибке. Я знаю два выхода:
1. Использование своего интерфейса (среди его методов есть такие как getLastError,
getLasrErrorCode). Тут все без проблем. Ошибка произошла - заполнили стрктуру,
содержащую сведения об ошибке и проинформировали клиента, что метод завершил
работу с ошибкой (вернули 0 или другой признак ошибки). Есть только одна проблема -
перед каждым вызовом необходимо очистить информацию об ошибке. Вызывать метод, который
будет это делать в начале каждого метода - грубо и неэффективно. Макрос тоже не выход
- тот же самый лишний код. Метода, который вызывается перед каждым вызовом метода
кокласса нет. Так что централизованно это не сделать. Как можно решить эту проблему?

2. Использование стандартного интерфейса ISupportErrorInfo и сотоварищей. Все бы
хороршо, но вот не работает он в dispatch-реализации. На с++ еще можно получить
инфу об ошибке, но вот в VB это никак не получается (. Если кто-нибудь знает, как
решить эту проблему, поделитесть опытом.

И еще вопрос. Может есть какие-нибудь другие стандартные подходы к реализации сервером
поддержки информации об ошибке(в том числе с точки зрения реализации с использованием
незабвенной MFC), о которых я не знаю, буду благодарен за инофрмацию
 
Статус
Закрыто для дальнейших ответов.