Я мог бы пропустить что-то очевидное, но есть ли где-нибудь ссылки о том, какие исключения выбрасываются функциями .NET и почему может быть выбрано исключение?
В качестве примера я недавно тестировал Linq в Visual С# 2008, и я загружал XML файл в XDocument. Только через тестирование я понял, что если вы попытаетесь загрузить файл, который не существует, он будет генерировать исключение FileNotFound, но если вы попытаетесь загрузить каталог вместо файла, вы получите UnauthorizedAccessException. Также просматривая пространство имен System.IO, я могу видеть такие вещи, как исключение FileLoad и исключение PathTooLongException, и я могу догадаться, когда они могут быть выброшены, но могут быть и другие, которые могут быть брошены в некоторых обстоятельствах, о которых я еще не думал,
Единственное решение, которое у меня есть сейчас - это просто поймать те, о которых я знаю, а затем поймать тип исключения, но я бы лучше знал, какие типы исключений я, скорее всего, буду сталкиваться, и Зачем. Я бы подумал, что библиотека MSDN будет иметь такую информацию, но я не могу ее найти нигде. Я просто слепой? Является ли эта информация в другом месте?
EDIT: Еще некоторые особенности, прямо сейчас Я ищу исключения, которые могут быть выбраны функцией XDocument.Load(string). Похоже, что в онлайн-документации или в браузере объектов нет ничего существенного. Должен ли я теперь просто запускать некоторые тесты и видеть, на что я заработал?