Есть ли место, где описываются причины общих сообщений об ошибках .NET? - PullRequest
0 голосов
/ 27 марта 2009

Конкретная ошибка, которую я получаю, - это исключение System.ArgumentException с сообщением «Значение не попадает в ожидаемый диапазон».

Я хотел бы знать, что конкретно может вызвать эту ошибку (я подозреваю, что происходит какое-то переполнение), но я также хотел бы знать, есть ли место, где перечислены подобные сообщения .NET и их причины.

Ответы [ 3 ]

1 голос
/ 27 марта 2009

Если вы знаете класс и метод (как показано в трассировке стека), вы сможете использовать Reflector , чтобы выяснить, что пошло не так (при условии, что сообщение об исключении не говорит вам).

Чтобы ответить на более позднюю часть вашего вопроса, вы можете использовать Reflector-> F3-> ArgumentException, дважды щелкнуть результат и нажать Ctrl + R, чтобы проанализировать, где он используется. Таким образом, вы можете указать BCL (различные версии) или любую другую сборку, которая вам нравится (просто необходимо загрузить ее в Reflector).

0 голосов
/ 27 марта 2009

К сожалению, нам нужна дополнительная информация, чтобы помочь.

Ответственность за использованное исключение и за конкретное сообщение об ошибке несет создатель библиотеки. Этот тип «очень общего» сообщения об исключении, к сожалению, распространен во многих плохо написанных библиотеках.

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

0 голосов
/ 27 марта 2009

Вам нужно взглянуть на трассировку стека - обычно достаточно комбинации трассировки стека + сообщения, чтобы сделать понятным исключение.

Если это тип структуры, вызывающий исключение, найдите первый открытый вызов метода в трассировке sdtack и найдите его в MSDN. Это должно объяснить, что метод ожидает и что еще может вызвать исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...