У меня есть приложение, которое продолжает падать и говорит только «Приложение перестало работать». В деталях сказано, что это произошло из-за исключения System.NullReferenceException. Я не могу воспроизвести это исключение в своей среде разработки (это x86, тестирование на x64 на сервере, где я могу масштабировать потоки) по неизвестным причинам, и я не могу найти способ поймать ошибку. У меня есть блоки try-catch вокруг всего. Я думаю, это связано с тем, что некоторые запросы SQL CE возвращают нулевые значения, даже если они находятся в блоках try-catch и имеют операторы if, проверяющие нулевые значения.
Я действительно не думаю, что тестирование на машине x64 вызывает какие-либо проблемы. Я попытаюсь воспроизвести проблему в своей среде разработки, но это может занять очень много времени, так как мое приложение использует много потоков и много подключено к Интернету, а у меня медленное соединение.
РЕДАКТИРОВАТЬ: мне удалось воспроизвести в моей среде разработки. Ошибка возникала при попытке записи в текстовое поле с помощью диспетчера. Я написал ex.Message (где ex — это мое исключение), но оказалось, что ex был нулевым и вызвал ошибку. Как ex может быть нулевым в try-catch? Мне кажется, это не имеет смысла.