Дата публикации: 04.03.2003

IBProvider v2.1. Полностью переписан механизм обработки ошибок

Полностью переписан механизм обработки ошибок. Теперь IBProvider может использовать сервисы OLE DB для создания более детального описания произошедших ошибок:

  • Коллекции ошибок. Ранее несколько ошибок объединялись в одну, что могло привести к выводу очень длинного сообщения.
  • Параметризация ошибок. Ранее единственной информацией, которую можно было получить из объекта ошибки, было текстовое описание. Теперь вы имеете доступ к более детальному описанию — к коду (специфичному для IBProvider) и параметрам ошибки. Подробнее смотрите описание интерфейса IErrorRecords.

Поскольку ADO.NET может обрабатывать только OLE DB ошибки, то, начиная с этого момента, IBProvider полностью удовлетворяет этим требованиям.

Технические подробности

  • Обработка ошибок полностью основана на C++ исключениях. Обратите внимание, что при отладке ваших приложений, отладчик может реагировать на исключения внутри провайдера.
  • В провайдере реализовано ограничение на максимальное количество ошибок, возвращаемых в коллекции. За счет этого предотвращена генерация потенциально длинных списков ошибок при таких операциях как фиксация отложенных изменений в обновляемых множествах.

Преимущества

  • Упрощение и кардинальное улучшение внутренней реализации провайдера.
  • Улучшена общая производительность. В частности операция выборки данных (fetch) избавилась от нескольких достаточно сложных конструкций контроля ошибок.
  • Достаточно значительное уменьшение в объеме оптимизированной сборки провайдера.
  • Заложена основа для дальнейшей локализации сообщений об ошибках.

Если на компьютере не установлены сервисы OLE DB (входящие в состав ADODB), то провайдер будет использовать стандартный механизм обработки ошибок с использованием OLE Automation.

Новая обработка реализована в обеих версиях провайдера — 1.7.14 и 2.1.


Дата публикации: 04.03.2003. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.
Следующие новости
IBProvider v2.1.1