zoukankan      html  css  js  c++  java
  • RFID会议签到系统总结(四) 异常处理与日志记录

     

    这一篇还没准备进入实质性的阶段,先插段事关整个系统的异常处理部分。

    最基本的原则当然是所有有可能影响到系统正常运行的异常都要Catch,并作记录,所谓最基本的原则当然只能是到具体实现的阶段把握了。但总有百密一疏,挂万漏一的时候,对于这些漏网之鱼必须在Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException事件中根据情况处理掉。

    对于已经冒到上述二个事件中的异常,不但要作记录,还要出个Error形式的对话框提醒之,否则出状况了也不知道。至于是否要关闭整个应用程序则原则上不予理睬。只有一种情况,就是UnhandledException中的事件参数IsTerminatingTrue时,必须要关闭应用程序了,籍此可以在ApplicationExit事件中及时的清理掉一些资源。

    当然异常处理是个很大的话题,甚至有些地方是特意要抛个异常的,这些东西要具体事情具体分析,这里只是提一下系统中一些大体的做法。

     

    日志记录也是一个很重要的部分,要记录的东西包括上面提到的一些程序异常状况,网络出现异常的状况,系统启动与退出,一些重要操作。还有就是大量的接收到的通讯指令,大量的从RFID硬件设备读出的信息。系统一直很稳稳当当的运行,这些东西用途不大,但一旦系统有状况,这些记录将是解决问题、排除故障的依据。

    从各方面考虑,日志记录决定用log4net,现在要思量的只是具体如何配置它而已。最后决定系统中用二个appenderEventLogAppender用于记录异常信息,包括程序与网络异常,这种信息一般不会很多,而且记录在EventLog个人认为比较的醒目,程序异常一般定义为“ERROR”级别,只有在ThreadException UnhandledException 事件中出现的才定义为“FATAL”,而网络异常则用“WARN”。另一个appenderRollingLogFileAppender,用于记录操作信息,通讯信息和硬件信息,这种记录记录量会比较的大,一个小时产生一个日志文件是必要的,这种记录都定义为“INFO”级别。

  • 相关阅读:
    约瑟夫解决问题的循环链表
    [Erlang危机](5.1.0)VM检测概述
    找呀志_java网络编程(5)TCP和udp差额
    有序输出两棵二叉查找树中的元素
    1234567选择3个数字组合
    八皇后问题
    矩阵乘法运算
    求π的近似值
    证明不小于6的偶数都是两个素数之和
    最大公约数最小公倍数
  • 原文地址:https://www.cnblogs.com/lichdr/p/775191.html
Copyright © 2011-2022 走看看