怎么设计比较好的异常处理机制,来达到容错强,出现异常不轻易死掉等等方法。我的另1个帖有1周了没有什么满意的答复:http://community.csdn.net/Expert/topic/3434/3434008.xml?temp=.2732813每个函数都用try catch加日志记录?

解决方案 »

  1.   

    得保证你的异常是可预知的。不然就处理未处理异常吧,StackWalk看看调用堆栈,就知道哪出问题了,修改!如此重复此过程。
      

  2.   

    尽量减少代码的bug,然后就只能捕捉,然后处理了
      

  3.   

    谁读过Apache、MySQl... 这些开源的代码,讲讲他们是怎么处理的?
      

  4.   

    所有的电信,银行,交通等大型应用系统哪个不是7*24小时服务程序啊,怎么会小呢。关键是对于不同的行业有不同的业务逻辑,错误的分类,分级标准也不一样。我觉得强的容错机制还在于初期的良好设计;另外建议你关注面向方面编程(OAP),它可以把类似错误处理,系统日志一类的东西织入(wave in)系统中,这样,错误机制就可以单独做成一个系统,而且修改起来也不会影响到业务代码。
      

  5.   

    我是有“类似错误处理,系统日志一类”的东西,但还是有莫名其妙的错误让Server死掉(我的server多线程复杂),
    但我看到一些常见的DB Server, Web Server 很少死掉不知道他们都是怎么干的?有大虾也谈到了“定期主动重启服务”,可需要7*24我找什么时候去重启呢?是不是做是什么mirror或者Cluster让Service 部分部分的重启?