这样可以捕获异常吗?

yzy8788 2016-01-14 04:27:16
try
{
MethodInvoker mi = new MethodInvoker(TradeMain);
BeginInvoke(mi);
}
catch (Exception ex)
{
TradeLog("系统错误:" + ex.Message, "");
}


假如TradeMain方法抛异常了,可以捕获到吗?
...全文
153 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
x4177c 2016-01-16
  • 打赏
  • 举报
回复
不会捕获到异常。beginInvoke是在线程池里取一个线程,在这个线程环境下执行那个委托,如果发生异常,这个就叫做未捕获异常,是在appDomain.UnhandledException事件中会引发,这时的异常会导致应用程序终止。
yzy8788 2016-01-15
  • 打赏
  • 举报
回复
好的,谢谢楼上各位
秋的红果实 2016-01-14
  • 打赏
  • 举报
回复
不会,在TradeMain里捕获
江南小鱼 2016-01-14
  • 打赏
  • 举报
回复
不可以,异步是新线程,主线程是捕捉不到新线程的异常滴。
Cisson 2016-01-14
  • 打赏
  • 举报
回复
我认为是捕获不到的,你可以把捕获异常加在异步线程中,你可以自己写一个看看!
Cisson 2016-01-14
  • 打赏
  • 举报
回复
你可以看看这个 http://www.itstrike.cn/Question/0fdfd481-3377-499b-886c-63397e9bf853.html
  • 打赏
  • 举报
回复
winform程序可以通过Application.ThreadException来捕获线程异常
正怒月神 2016-01-14
  • 打赏
  • 举报
回复
不行
本拉灯 2016-01-14
  • 打赏
  • 举报
回复
不可以,因为你用了异步了。

110,534

社区成员

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

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

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