当我通过在bin调试文件夹中执行exe fine来运行我的程序时,为什么看不到带有异常详细信息的MessageBox?
当我从Visual Studio调试(运行)程序时,我确实看到了异常。
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
catch (Exception ex)
{
if (MessageBox.Show(
string.Format("There were unhandeled exceptions. Would you like to continue using this program?"),
"Fatal Error",
MessageBoxButtons.YesNo,
MessageBoxIcon.Error) == System.Windows.Forms.DialogResult.No)
Application.Exit();
}
}
修改
以下是生成异常的代码:
private void button1_Click(object sender, EventArgs e) {
int num = 1;
num = num / (num - num);
}
答案 0 :(得分:3)
添加以下行:
try
{
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);
...
显然调试时默认值不同。我不知道有关的细节。
另请注意,您的if(...) Application.Exit();
在这里并不实用,也不应该
不要尝试重启或任何东西。