首页 新闻 会员 周边

关于异常处理的问题

0
悬赏园豆:50 [已关闭问题]

刚刚工作不久,有一些问题,希望前辈给予解答。

一个系统中有没有一个有关程序异常的处理方案呢?

我觉得一个系统中异常最终是被捕获和处理的,处理不了也要记录日志,是肯定不会显示到页面的。

但是异常具体要怎么处理呢?

我想找到一个异常捕获、处理、记录日志的方案,怎么样才能在看日志时候准确的定位到出错的方法,位置,并且可以知道出错的原因,如果做好了我想日志就是我们的调试记录器。

不知道大家有没有好的想法,本人才疏学浅,请以三层架构的系统举例谢谢。

瓶子里的水00的主页 瓶子里的水00 | 初学一级 | 园豆:150
提问于:2010-06-30 10:49
< >
分享
其他回答(5)
0

很好的想法,帮顶了!

Jaryleely | 园豆:367 (菜鸟二级) | 2010-06-30 10:58
0

记录日志时把异常的 stacktrace 也记下来,就可以定位到出错的方法,位置。出错的原因需要结合message 和 stacktrace 具体分析了。

eaglet | 园豆:17139 (专家六级) | 2010-06-30 12:34
我在想的是一套异常的日志管理系统,总的需求就是我可以将所有异常都记录好日志,然后可以通过查看日志定位异常位置及错误信息,我想做过很多系统的人都应该遇到过的问题。
支持(0) 反对(0) 瓶子里的水00 | 园豆:150 (初学一级) | 2010-06-30 13:19
@迷茫沙漠: 你是打算做一个第三方的异常日志管理系统?如果是这样你怎么去捕获别人系统中的异常呢?
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2010-06-30 13:37
0

建议你去看看我的这篇博文,对异常处理的做了详细的讲述,项目开发-项目开发中的异常处理,希望可以帮你

小洋(燕洋天) | 园豆:206 (菜鸟二级) | 2010-06-30 13:45
0
kyo-yo | 园豆:5587 (大侠五级) | 2010-06-30 15:11
0

推荐log4net,或者自己实现,如你系统中的日志管理子功能,不过这还属于功能屋,特殊的异常需要底层捕获。

Astar | 园豆:40805 (高人七级) | 2010-06-30 17:40
0

异常设计是属性接口设计的!

你在多层应用时,下层给出的接口说明应该带有此方法可能会产生的所有异常。

具体在哪里面处理,这得看你的业务逻辑了。例如:

DAL接口中标注出一个接口可能会抛出SQLException,

BLL中使用DAL该接口的方法,可能会处理掉SQLException,而抛出新的异常,如:BusinessException(),或者FriendlyMessageException("用户名不为空")

表示层看到BLL接口中注明抛出FriendlyMessageException时,可以直接把里面的消息显示给用户,而BusinessException可以不处理。

在最后的Application的异常处理中,你可以把异常的所有信息都记录下来以备查(按需选择何种存储方案)。

BloodyAngel | 园豆:230 (菜鸟二级) | 2010-07-01 08:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册