У меня возникли проблемы с определением для поставщика данных Sqlite.Net (System.Data.Sqlite.dll) (в новой разработке разветвлено здесь), какие исключения генерируются различными классами и их методами. Я знаю, что есть исключения SqliteException, которые можно генерировать, но когда?
Я позаботился о том, чтобы у меня был сопроводительный файл документации System.Data.Sqlite.xml, но в нем нет списка исключений, создаваемых каждым методом.
Я не хочу оборачивать ненужный код в блоки try/catch (или слепо везде ловить общее исключение).
Я знаю, что SqliteConnection является производным от DbConnection, а SqliteCommand является производным от DbCommand, поэтому, если нужно, думаю, я могу посмотреть там документацию. Однако ни один из базовых классов не будет перечислять SqliteException, поэтому когда будут генерироваться исключения такого типа?
PS - Я использую версию 1.0.64 (с 2009 года... пока не могу обновить).
ОБНОВИТЬ:
Из-за отсутствия ответов, есть ли кто-нибудь, кто использует 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 для включения исключений , предлагая добавить их самостоятельно, если это слишком низко в их списке приоритетов. Я буду держать этот вопрос в курсе любых новых событий для всех, кто может быть заинтересован.