C#MessageBox错误消息

时间:2010-05-07 15:26:22

标签: c# debugging error-handling messagebox

在我的应用程序中,我使用消息框来显示错误信息。

try
{
   // Something...
}
catch (SystemException ex)
{
   MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

一开始这很好,但随着程序的增长,找到生成此错误的try-catch块变得越来越困难。有没有办法显示生成错误的代码行或函数?我使用的是Microsoft Visual C#2008 Express Edition。感谢。

6 个答案:

答案 0 :(得分:6)

这将为您提供有关导致错误的方法(堆栈跟踪)

的大量信息
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

答案 1 :(得分:1)

只显示Exception.StackTrace。它将包含各种有用的信息,可以帮助您找到有问题的代码行。

答案 2 :(得分:0)

Exception.StackTrace,这对于消息框来说通常有点多。此外Exception.TargetSite.Name也应该有所帮助。

答案 3 :(得分:0)

您想查看ex.StackTrace(),它将为您提供抛出异常位置的完整详细信息。您可能还想检查InnerException。

答案 4 :(得分:0)

为什么不在错误消息中添加一些额外信息以便更容易找到?您可以在“错误”字符串后添加更多文本,具体取决于创建消息框的位置。

抛出的异常包含几个函数,可以让您更详细地了解错误。

答案 5 :(得分:0)

您可以选择几种方式。

  1. 如果要提供上下文信息,请在消息框中添加内容
  2. 显示堆栈跟踪信息,如果在调试构建行号中包含
  3. 但是,我会谨慎对待这种做法,如果你发现自己变得太多而无法弄清楚在哪里,我会开始考虑重新构建你的代码,以确保你没有的问题。