非界面线程中引发异常处理(http://zitiger.cnblogs.com/)

用到了多线程的地方,非界面线程的异常被吃掉是很正常的事,所以在非界面线程中引发异常应该转到界面线程来处理

public delegate void WorkThreadExceptionHandlerDelegate(Exception e);
protected void WorkThreadExceptionHandler(Exception e)
{
if (InvokeRequired)
{
BeginInvoke(new WorkThreadExceptionHandlerDelegate(WorkThreadExceptionHandler),new object[]{e});
return;
}
this.ShowStatus("Error!");
LogError(e);

}

catch的时候
catch (Exception ex)
{

WorkThreadExceptionHandler(ex);
}

这是我的做法  回复

posted on 2006-05-11 13:04  c#之旅  阅读(429)  评论(0编辑  收藏  举报

导航