
第一种方法
static voID Main(string[] args) { try { System.windows.Forms.Application.Run(mainform); } catch (Exception ex) { // Log error and display error message }} 第二种方法
static voID Main(string[] args) { System.windows.Forms.Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); System.windows.Forms.Application.Run(mainform);}static voID Application_ThreadException(object sender,ThreadExceptionEventArgs e){ // Log error and display error message} 处理ThreadException事件会给你一些try / catch没有的东西吗?
解决方法 我对这种行为的理解是,添加一个 ThreadException处理程序将导致表单中未处理的异常被此处理程序捕获和处理,这将允许应用程序继续运行.在try / catch设计中,表单中的第一个未处理的异常将导致应用程序停止.您将捕获异常,但应用程序将结束.
请注意,在某些情况下还会引发一个AppDomain.UnhandledException事件(主窗口表单线程以外的线程中未处理的异常并且没有捕获ThreadException),所有这些都是对您的应用程序非常不利的消息.
总结以上是内存溢出为你收集整理的c# – 处理Application.ThreadException和在Try / Catch中包装Application.Run之间的区别全部内容,希望文章能够帮你解决c# – 处理Application.ThreadException和在Try / Catch中包装Application.Run之间的区别所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)