日期:2014-05-18  浏览次数:20927 次

简单问题:Program.cs中try...catch语句有问题~
环境:Visual   C#   2005

Program.cs中


Code:

                static   void   Main()
                {
                        Application.EnableVisualStyles();
                        Application.SetCompatibleTextRenderingDefault(false);
                        try
                        {
                                Application.Run(new   Form1());
                        }
                        catch   (Exception   e)
                        {
                                MessageBox.Show( "asdf ");
                                FormException   f1   =   new   FormException(e);
                                Application.Run(f1);
                        }

                }


在   按F5   启动调试   时,FormException窗体能够接收到Form1抛出的异常,并进行显示和处理。
但   按Ctrl+F5和目录方式打开生成文件时,Form1的异常不能被catch语句接收到,从而弹出默认的异常窗口。

我想问为什么在Ctrl+F5时try{}中的异常不能被catch{}接收到?如果我依然想被catch语句接收到并在FormException.cs中处理,怎么办?

简单问题,在线等,立即给分~

------解决方案--------------------
可能是 生成时 是检查有没有语法错误吧 ! 呵呵
------解决方案--------------------
而不是运行 你是运行时 才能抛出异常的 try;Application.Run(new Form1());
------解决方案--------------------
奇怪了,今天看见好几个这样的帖子了,莫非Bug?
------解决方案--------------------
楼上已经说了
而不是运行 你是运行时 才能抛出异常的 try;Application.Run(new Form1());

只有报出异常,才会执行messagebox .show
你应该问,为什么会报异常

记得结帖子