我有一个不断崩溃的应用程序,只说“应用程序已停止工作”。在细节中它说它是由于System.NullReferenceException。我无法在我的开发环境中复制此异常(这是x86,在我可以扩展线程的服务器上测试x64),原因不明,我似乎找不到捕获错误的方法。我试着抓住所有东西。我认为这是由于一些SQL CE查询返回空值,即使它们在try-catch块中并且if语句测试空值。
我真的不认为在x64机器上进行测试会导致任何问题。我将尝试在我的开发环境中复制该问题,但可能需要很长时间,因为我的应用程序使用大量线程并连接到互联网很多,而且连接速度很慢。
编辑:我设法在我的开发环境中重新编写。尝试使用调度程序写入文本框时发生错误。我正在拧ex.Message(其中ex是我的例外),但似乎ex为null并导致错误。如何在try-catch中为空?这似乎对我没有意义。答案 0 :(得分:0)
实际上,你不应该把try-catch放在一切。这正是让您无法找到错误的原因。 NullReferenceException
和许多try-catch的组合实际上是一个警告,你应该停止吞咽所有错误。例外情况是例外 - 不要只是常规地捕获它们。如果您的软件容易出现大量异常,则代码中的错误需要正确修复。
然后你会有一些正确的错误信息来提问。