在Main()方法中使用try{……}catch为什么捕捉不到异常?

shsoft888 2008-03-30 02:53:40
在Main()方法中使用try{……}catch为什么捕捉不到异常?

在VS2005的开发环境中用 F5 启动调试可以捕捉到,可在bin\Debug\直接运行.exe文件就提示未处理的异常。
...全文
155 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shsoft888 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 possible_Y 的回复:]
private static void HandleException(Exception ex)
{
if(ex is IOException)
{
MessageBox.Show(ex.Message);
}
else if(ex is CustomException)
{
........
}
}
[/Quote]

possible_Y真是个大好人,太感谢了。
possible_Y 2008-03-30
  • 打赏
  • 举报
回复
private static void HandleException(Exception ex)
{
if(ex is IOException)
{
MessageBox.Show(ex.Message);
}
else if(ex is CustomException)
{
........
}
}
shsoft888 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 possible_Y 的回复:]
因为不是同一线程,所以捕获不到

你可以这样做,在Program类里:

static void Main()
{
Application.ThreadException +=
new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException +=
new System.UnhandledExceptionEventHandler(AppDomain_UnHandledExceptio…
[/Quote]
使用你的方法我的问题以经解决了。非常感谢

我还想问个问题,怎么在这个方法里捕捉指定的异常,比如自定义的异常等。
possible_Y 2008-03-30
  • 打赏
  • 举报
回复
因为不是同一线程,所以捕获不到

你可以这样做,在Program类里:

static void Main()
{
Application.ThreadException +=
new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException +=
new System.UnhandledExceptionEventHandler(AppDomain_UnHandledException);


Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new YourForm());
}

private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
HandleException(e.Exception);
}

private static void AppDomain_UnHandledException(object sender, System.UnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is System.Exception)
{
HandleException((System.Exception)e.ExceptionObject);
}
}

private static void HandleException(Exception ex)
{
MessageBox.Show(ex.Message);
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧