击鼓传花——轮询式错误处理机制的设计与实现

错误|错误处理|设计

击鼓传花——轮询式错误处理机制的设计与实现(一)

--------------------------------------------------------------------------------

摘要

本文简单介绍了一种轮询式错误处理机制的设计思想与具体实现,本机制可以灵活地实现对错误处理方式的扩充,以及对错误信息格式的自定义。

--------------------------------------------------------------------------------

目录

简介
类图
类的说明与代码实现
客户端调用方式
总结
更多的信息

--------------------------------------------------------------------------------

简介

错误处理是每个应用软件都需要包含的固定模块。如何来设计一种具有普遍适用性的错误处理机制,是本文讨论的核心。 本文就此介绍了一种采用轮询的方式,使用户可多选择地使用已定义或者由用户自定义的方式来进行错误处理,同时允许用户对错误信息输出格式进行定制和扩展。

--------------------------------------------------------------------------------

类图

--------------------------------------------------------------------------------

类的说明与代码实现

Global:

该类用于登记错误处理方式以及定义其标志值,另外有一个全局静态方法NumberSplit,将传入参数int x转化为二进制格式的string输出。具体代码如下:

public class Global

{

//错误处理方式计数

public const int ERROR_HANDLE_MODE = 5;

//每种错误处理方式的标志值

public const int None = 0;

public const int DebugInfo = 1;

public const int EventLog = 2;

public const int MessageBox = 4;

public const int LogFile = 8;

public const int Mail = 16;

//public const int ShortMessage = 32;

//public const int Print = 64;

//public const int MessageQueue = 128;

//public const int Database = 256;

//public const int Console = 512;

public Global()

{

//

// TODO: Add constructor logic here

//

}

public static string NumberSplit(int x)

{

string r = "";

while(x!=0)

{

int t = x%2;

r = t.ToString() + r;

x = x/2;

}

return r;

}

}

ErrorMsgClass:

该类为错误信息包含类,任何一个错误对象都作为该类的一个实例存在,该类的实例也作为错误信息的载体贯穿于整个错误处理体系中。该类只有一个哈希类型的参数,用于存放具体的错误信息。该类实例化的时候自动将错误处理方式设为0(不处理)。具体代码如下:

public class ErrorMsgClass

{

public Hashtable hash= new Hashtable();

public ErrorMsgClass()

{

//

//错误处理方式默认为不处理

hash.Add("Mode",0);

//

}

}

时间: 2024-08-01 20:32:51

击鼓传花——轮询式错误处理机制的设计与实现的相关文章

击鼓传花——轮询式错误处理机制的设计与实现(三)

错误|错误处理|设计 ErrHdlEventLogClass: 该类是将错误信息写入系统日志的具体实现类,该类继承自AbstractHandleClass.用户在自定义错误处理方式的时候,便可仿照该类来设计.具体代码如下: public class ErrHdlEventLogClass: AbstractHandleClass { public const int ID = 2; //错误处理方式的序号 public ErrHdlEventLogClass() { // // TODO: Ad

通过击鼓传花程序来对比 muduo 与 libevent2 的事件处理效

前面我们比较了 muduo 和 libevent2 的吞吐量,得到的结论是 muduo 比 libevent2 快 18%.有 人会说,libevent2 并不是为高吞吐的应用场景而设计的,这样的比较不公平,胜之不武.为了公平起 见,这回我们用 libevent2 自带的性能测试程序(击鼓传花)来对比 muduo 和 libevent2 在高并发 情况下的 IO 事件处理效率. 测试对象 libevent 2.0.6-rc, 源代码包 http://monkey.org/~provos/libe

数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么

问题描述 数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么 数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么 解决方案 http://wenku.baidu.com/link?url=pvT9Ql4IqmdhnRlFLdTdeAS0sYf8oXSKNVJjaCkgGYhIBRFbiJUHueRVvoMqqFXz9enx75Iv-F39JVxaoqFs586rOfxggq_W3PD5BUcaA9a

严俊旭击鼓传花上瘾天顺风能匆忙上市为赶超泰胜

理财周报IPO实验室研究员 王薇薇/文 距泰胜风能(300129.SZ)10月19日上市还不到一个月,其竞争对手天顺风能(苏州)股份有限公司(下称天顺风能)也匆匆忙忙赶来,唯恐泰胜要抢去了天下一般. 说其匆忙实在不过,单是天顺风能在去年年底才变更设立股份制公司就足以说明.其的股权转让.增资等过程,都是临时抱佛脚之为. 严俊旭手里转悠5年,匆忙上市 一眼望去,天顺风能八个股东均为法人股东. 2005年1月18日,天顺(苏州)金属制品有限公司(下称天顺有限)以港资公司的身份成立,经营期限为1年.天顺

P2P项目真实性难考究 或玩“击鼓传花”

项目真实性难考究 P2P平台以每年4倍多的速度井喷,与此同时这一行业倒闭潮也在加速蔓延.据不完全统计,上半年以来已有超过50家网贷平台出现跑路,其中有九成以上都是开业运营时间不足一年的.P2P平台加速倒闭的背后凸显出"无门槛"."无监管"带来的后果. 新平台靠高收益吸客 但难有优质项目 动辄15%~20%的高收益率吸引了众多投资者前赴后继参与,甚至有上百万的高净值客户放弃银行理财与信托转投P2P.但记者发现,在宏观经济风险加大的背景下,大平台感叹优质项目资源&quo

P2P或玩“击鼓传花”借新还旧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 项目真实性难考究 P2P平台以每年4倍多的速度井喷,与此同时这一行业倒闭潮也在加速蔓延.据不完全统计,上半年以来已有超过50家网贷平台出现跑路,其中有九成以上都是开业运营时间不足一年的.P2P平台加速倒闭的背后凸显出"无门槛"."无监管"带来的后果. 新平台靠高收益吸客 但难有优质项目 动辄15%~20

房市击鼓传花下一棒传谁

"虎头虎脑"."虎虎生威"."龙腾虎跃"是过节这些天的"高频词",一个"虎"字承载了人们对未来太多的期望与寄托,也将当下的年味烘托得勃勃有生气.但就在这个寓有冲劲的虎年里,对投机炒房客而言,却来了个下马威.年前创下飙长纪录的海南凤凰岛公寓,大年初一就出现出货潮,不少投资客开始打折抛房,甚至出现了低于前期市价一半的"甩货"房. 一个"国际旅游岛"的概念,吸引了来自全国甚

Instagram 10亿美元估值背后:风投击鼓传花

新浪科技 郑峻 发自美国硅谷 新浪科技讯 北京时间4月10日消息, Facebook今晨宣布以现金加股票的方式斥资 10亿美元收购图片社交应用Instagram.而就在上周,媒体报道Instagram即将完成5000万美元的第二轮融资,公司估值为5亿美元.一周之内, Instagram估值翻了一倍.除了Instagram的创业团队,风投的投资也在数日之内实现了不可思议的增长. 红杉资本牵头了Instagram这轮投资,而据AllThingsD报道,俄罗斯投资大亨尤里·米尔纳(Yuri Milne

CentOS6中Nginx负载均衡及轮询分流负载均衡例子

方法一,nginx 轮询分流实现负载均衡 准备工作,3台服务器,或者开虚拟机吧!我就是开虚拟机实现的.     ip分别为:192.168.1.10  192.168.1.11  192.168.1.12   (环境安装了ngixn 没有做任何配置)     3台服务器环境最好一样,我是再vm里直接克隆出来的,环境绝对一样吧!不一样,我估计会遇到很多奇怪的问题,没试过.     192.168.1.10  作为  负载均衡服务器  (一会负载均衡就在这里台服务器做配置,另外2台不用做配置)