日期:2014-05-17  浏览次数:20772 次

C#有啥好点的异常记录的方法没
public void UpdateStateById(string UserKey, int Id, LotteryModel.NumCollectionState State, out ResponseStatus Type)
        {
            Type = ResponseStatus.ResponseSucceed;
            try
            {
                RunALotteryBLL bll = new RunALotteryBLL(UserKey);
                if (bll.UpdateNumCollectionState(Id, State) == false)
                {
                    throw new Exception();
                }
            }
            catch (Exception e)
            {
                Type = ExceptionCheck.CheckException(e);
            }
        }

这段代码是我这个项目的一个方法 几乎所有的WCF方法都是这种形式
第一个参数是个UserKey最后一个参数是out ResponseStatus 
我在catch块里头的CheckException中 想做异常信息的记录 并且对参数序列化 进行记录
有什么好的方法能够直接在CheckException中获取当前报错的方法和类名
以及所有的参数??
这个项目好多方法原来CheckException是这样写的
public void CheckException(Exception e,params object[] parameter);
这样写所有的方法我都要改。。。
求好方法啊
我总感觉项目里的WCF方法都这样写一遍 这码农当的太操蛋了

------解决方案--------------------
提供一种方法作为参考,就是建一个异常实体类,在出现异常的时候吧对象写入txt或者存入数据库。你可以在网上看看软件日志的实现 。。。
------解决方案--------------------
你可以试试使用log4net
------解决方案--------------------
你在实体类的里面可以定义的啊 ,这个是我项目中的代码比如:
  public static string ClockAddscene = "网关{0}下,地址为{1},的{2},为周期为:{3}的时钟,添加场景,添加{4}";

------解决方案--------------------
1、全局按天捕捉异常类,并将异常信息插入相应数据库表或文本文件
2、可能出现异常的地方 thorw 异常类就可以了
------解决方案--------------------
StackTrace得到堆栈信息,可以知道调用函数
------解决方案--------------------
创建一个日志表败
------解决方案--------------------
你可以自己在程序中实现写程序日志,通过程序日志可以很快找到那部分代码出错的,你可以通过VS自带的调用栈来查看的