У меня проблемы с выяснением, для поставщика данных Sqlite.Net (System.Data.Sqlite.dll) (новая разработка разветвлена здесь ), какие исключения брошенный различными классами и их методами. Я знаю, что есть исключения SqliteException, но когда?
Я удостоверился, что у меня есть прилагаемый файл документации System.Data.Sqlite.xml, но в нем не указано, какие исключения вызываются каждым методом.
Я не хочу заключать ненужный код в блоки try / catch (или слепо ловить универсальное исключение везде).
Я знаю, что SqliteConnection получен из DbConnection , а SqliteCommand получен из DbCommand , поэтому при необходимости, я думаю, я смогу посмотреть там документацию. Тем не менее, ни один из базовых классов не будет перечислять SqliteException, поэтому когда будут генерироваться исключения такого типа?
PS - я использую версию 1.0.64 (с 2009 года ... сейчас не могу обновить).
UPDATE:
Из-за отсутствия ответов есть ли кто-нибудь, кто использует System.Data.Sqlite.dll? Если да, то какой подход вы используете для обработки исключений, которые могут быть выброшены из объектов, доступных в библиотеке? Есть ли какой-нибудь стандартный способ справиться с этими исключениями, поскольку, похоже, нет документации об исключениях, которые создаются и какими классами?
ОБНОВЛЕНИЕ 2:
Мне удалось найти документацию по SQLite.NET, находящуюся в каталоге c: \ program files \ SQLite.NET \ Doc \ (кажется довольно очевидным). Пока отличная документация, однако она не говорит вам, какие исключения выдается. Лучшее, что я могу сделать, - это посмотреть на базовые классы, которые унаследованы, или интерфейсы, которые реализованы, и посмотреть, какие исключения генерируются. Это по-прежнему не помогает узнать, когда создается объект SqliteException.
ОБНОВЛЕНИЕ 3:
После получения исходного кода выясняется, что ни один из классов сам по себе не содержит /// <exception cref="ExceptionType">Something went wrong!</exception>
xml комментариев. Это объясняет, почему ни файл справки SQLite.NET, ни Visual Studio Intellisense не содержат список исключений, которые могут быть выброшены. Я создал тикет , запрашивающий xml-комментарии о включении исключений, предлагая добавить их самостоятельно, если он слишком низок в их списке приоритетов. Я буду держать этот вопрос в курсе всех новых событий для тех, кто может быть заинтересован.