-1

我在 Windows 7 32 位机器上使用所有托管代码在 Visual Studio 10 中编写了一个简单的控制台应用程序。它在调试模式下工作正常,但是当我将它部署到另一台机器并运行它时,我收到消息,

[my assembly] has encountered a problem and needs to close.  We are sorry for the inconvenience.

...然后它会生成一个我无法想象会发现有用的神秘错误报告。事情是这样的:异常发生在一个旨在优雅地处理错误的 try-catch 语句中;但是,似乎没有发现异常。

怎么会这样?我该如何解决?

4

2 回答 2

2

异常是从代码中的不同位置引发的,或者您没有在 catch 分支中列出异常的特定类型(或其父类型之一)

“神秘”的错误消息实际上是为了帮助您找出:出了什么问题(异常的类型),它发生在哪里(堆栈跟踪)。你应该学会阅读/“解密”它

于 2012-04-17T16:30:03.553 回答
1

就像阿提拉说的那样,它可能是从另一个地方扔过来的。您应该将类​​型设置Exception为一般类型,如果错误被抛出您认为的位置,那么它肯定会在那个捕获中结束。了解问题后,您可以将类型调整为更具体的内容。

另外,不要优雅地处理它,而是首先尝试将错误消息打印到控制台以查看问题可能是什么。

如果它没有被捕获,它不会被从里面抛出try,请确保所有有问题的代码都被包装。

于 2012-04-17T16:32:13.363 回答