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