• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 一些.NET对多线程异常处理技巧分享

一些.NET对多线程异常处理技巧分享

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了vb.net 多线程,.net 多线程,vb.net 多线程 实例,.net多线程编程,vb.net 多线程 委托等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

多线程环境
在我们的产品 SE 中,出现多线程的地方主要有两大类,一类是通过 ThreadPool 或 new Thread 主动发起多线程,另一类是 Socket 通讯回调。
多线程异常捕获
对于一般的异常处理来说,我们只要简单的将可能出错的语句包含在 try/catch 语句中即可。我也曾经简单的将该方法运用于多线程的异常捕获,结果并非如此,代码如下:

以上的正确做法来自 Threading in C# 中的小节 Exception Handling,该文涉及到 .NET 多线程的方方面面,是我看到最全最好的文章。

正确捕获多线程异常的方法找到了,接下来我们自然会想:是不是每个线程入口方法都得这么做?

且看 Threading in C# 中的小节 Exception Handling 的描述:从 .NET 2.0 开始,任何一个线程上未处理的异常都会导致整个应用程序关闭。因此,在每个线程入口方法中都必须要使用 try/catch 语句,至少在产品应用程序中必须如此,以免应用程序因为我们未预料到的代码而关闭整个应用程序。

如果仅仅记下异常信息而不在乎应用程序异常关闭,那么有两个方法可以做到:

  1、对于 Windows Form 程序来说,有一个全局异常处理事件:Application.ThreadException;

  2、对于所有 .NET 程序来说,还有一个更低级的全局异常处理事件:AppDomain.UnhandledException;
更高的要求
我们能简单的通过全局异常处理事件来记录错误日志;如果保证不中断应用程序,也可以在每个线程入口方法中捕获异常并记录异常日志。有没有办法做到:既能捕获异常且不中断应用程序,又能如全局异常处理事件那样简单捕获异常?
对于主动创建的新线程,至少可以做到这一点:
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • .Net多线程编程(误用点分析)
  • 使用.Net实现多线程经验总结
  • .net让线程支持超时的方法实例和线程在执行结束后销毁的方法
  • .NET 线程基础的使用介绍
  • 基于.NET程序默认启动线程数讲解
  • .net中线程同步的典型场景和问题剖析
  • 一些.NET对多线程异常处理技巧分享

相关文章

  • 2017-05-11asp.net 去除viewstate第1/2页
  • 2017-05-11SQL Server 2005 RTM 安装错误 :The SQL Server System Configuration Checker cannot be executed due to
  • 2017-05-11asp.net 使用Silverlight操作ASPNETDB数据库
  • 2017-05-11FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
  • 2017-05-11ASP.NET缓存方法分析和实践示例代码第1/2页
  • 2017-05-11ASP.NET将Session保存到数据库中的方法
  • 2017-05-11asp.net中Fine Uploader文件上传组件使用介绍
  • 2017-05-11asp.net 处理原文件中过长的viewstate代码
  • 2017-05-11ASP.NET User Control使用技巧一则
  • 2017-05-11asp.net中绑定TextBox回车事件的解决方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 使用ASP.NET操作IIS7中应用程序
    • 如何为CheckBoxList和RadioButtonList添加滚动条
    • 使用NLog给Asp.Net Core做请求监控的方法
    • IIS实现反向代理时Cookie域的设置方法
    • ASP.NET中等安全模式的一些经验分享
    • ASP.NET Core中使用xUnit进行单元测试
    • Asp.net MVC scheduler的实现方法详解
    • asp.net TextBox控件设置ReadOnly后,不能回传。
    • ASP.NET使用AjaxPro实现前端跟后台交互详解
    • C#中常用的分页存储过程小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有