У меня есть приложение (выпущено) и исключение NullReferenceException, которое появляется для пользователей ОЧЕНЬ редко, но я хочу позаботиться об этом. Я просмотрел стек и методы в нем и не могу найти никакого конкретного места, где это произойдет (это довольно большой метод/алгоритм). На данный момент я просто буду окружать вызов с помощью try/catch, но хотел бы обработать его лучше, если бы я мог разобраться в этом случае.
Проблема, насколько я могу судить, NRE не дает никакого представления о том, что именно в коде вызвало это. Есть ли способ получить номера строк или любую другую информацию, которая могла бы намекнуть на причину?NullReferenceException информация о местоположении?
1
A
ответ
2
Несколько советов:
- При развертывании файла символы (.pdb) вместе с вашим исполняемым/DLL файлов, а затем трассировки стека вы получите, будет содержать номера строк.
- Он также может помочь разбить ваш метод на более мелкие части, чтобы ваша трассировка стека давала вам лучшее представление о том, где вы были, когда произошла ошибка.
Вы можете начать каждый метод, проверив его входы для нулевых или других недопустимых значений, так что вы сбой быстро со значимым сообщением.
private void DoSomething(int thingId, string value) { if(thingId <= 0) throw new ArgumentOutOfRangeException("thingId", thingId); if(value == null) throw new ArgumentNullException("value"); ... }
Вы можете окружить каждый метод с оберткой исключения предоставить больше информации на каждом уровне трассировки стека на его пути.
private void DoSomething(int thingId, string value) { try { ... } catch (Exception e) { throw new Exception("Failed to Do Something with arguments " + new {thingId, value}, e); // remember to include the original exception as an inner exception } }
Смежные вопросы
- 1. Основная информация о местоположении
- 2. Неправильная информация о местоположении
- 3. Информация о местоположении
- 4. Smartface 4.5 Информация о местоположении
- 5. IP и информация о местоположении
- 6. текущая информация о местоположении от провайдера сети
- 7. iPhone - информация о местоположении с фото
- 8. WPF ClickOnce - Опубликовать Информация о местоположении
- 9. BB10 Каскады простая информация о местоположении
- 10. Просмотр Hive схема Информация о местоположении
- 11. Насколько точна информация о местоположении геотегированных фотографий?
- 12. Информация о местоположении в Стэнфорде NER
- 13. Сохранение HTML5 Информация о местоположении в файле
- 14. Haskell AST Неполная информация о местоположении
- 15. Как должна быть передана информация о местоположении в шаблоне посетителя?
- 16. Друзья в Facebook Информация о местоположении в приложении для iPhone
- 17. R - деконволюция сложных интервалов в положение и информация о местоположении
- 18. Запрос данных о местоположении
- 19. Открытые данные о местоположении?
- 20. iOS Напоминание о местоположении
- 21. Путаница о NullReferenceException
- 22. Программно извлечение сетевого адаптера «Информация о местоположении» из вкладки «Сведения о диспетчере устройств»
- 23. C# Информация о файле изображения читать данные о местоположении и дату
- 24. Android делает каждое действие информацией о местоположении?
- 25. данные о местоположении для symbian
- 26. Вывод информации о местоположении GPS
- 27. PHP санировать данные о местоположении
- 28. Извлечь данные о местоположении изображения
- 29. Сообщение о местоположении Кордовы iOS
- 30. Данные о местоположении (особенно Франция)
Смотрите это: http://stackoverflow.com/questions/628565/display-lines-number-in-stack-trace-for-net-assembly-in-release-mode –
Вы могли бы попробуйте выполнить единичное тестирование и пропустите все возможные (и невозможные) значения аргументов ... –