Я собираюсь начать писать компонент .Net, который будет вызываться из службы VB COM + (новый компонент - это DLL, которая вызывает веб-сервис и возвращается на основе ответа). Я не уверен, как обрабатывать условия ошибки, которые могут возникнуть в коде .Net в вызывающем VB.Обработка пользовательских исключений .Net в COM + (VB)?
два типа ошибок я беспокоюсь о является:
- исключения, которые я мог бы хотел бросить, если предварительное условие не выполняются (например, дата начала поставки в качестве параметра меньше, чем через 3 месяца после конечная дата, предоставленная в качестве параметра, я могу захотеть исключить StartDateNotValidException)
- исключения, которые могут произойти как часть вызова веб-службы (тайм-аут, 404 и т. д.).
Я хотел бы вернуть некоторые конкретные отзывы пользователю и/или записать некоторую информацию в журнал, если произойдет одно из этих событий. Я думал о возврате кодов возврата Int из кода .Net и исключения исключений, но вполне возможно, что вызывающий код VB в конечном итоге может быть перенесен на .Net, поэтому я хотел бы использовать Исключения, если это возможно.
Я прочитал в MSDN, что COM Interop автоматически преобразует стандартные библиотечные исключения в HRESULT; есть ли у кого-нибудь опыт использования этого? Может ли это использоваться для перевода пользовательских исключений. Net в условия ошибки, которые я могу обрабатывать в VB?
Спасибо, Ник