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

有没有必要在多个页面写try catch 进行错误处理
看过同事写的一些代码,发现在很多页面都用try catch包裹了起来,在catch块中把错误信息写入到了作为日志的文本文件中,感觉很多地方都重复了,应该可以不用在多个页面都写try catch吧?个人觉得作为替代可以这么做:
在本机开发时不写try catch,以方便调试

在发布到远程服务器之前,多做这么两步

第一步: 在global.asax的applicaton_error事件中进行错误处理,如果有错误的话,写入到日志文件中

第二步:  在web.config的customerrors节点中定义自定义错误页面,如果发生了404或500错误,重定向到自定义的错误页面,程序员可以到日志文件中查看具体的错误信息

个人能想到的就是这些,我想问下我的想法对不对?如果不对的话有没有什么更好的方法?

------解决方案--------------------
引用:
看过同事写的一些代码,发现在很多页面都用try catch包裹了起来,在catch块中把错误信息写入到了作为日志的文本文件中,感觉很多地方都重复了,应该可以不用在多个页面都写try catch吧?个人觉得作为替代可以这么做:
在本机开发时不写try catch,以方便调试

在发布到远程服务器之前,多做这么两步

第一步: 在global.asax的applicaton_error事件中进行错误处理,如果有错误的话,写入到日志文件中

第二步:  在web.config的customerrors节点中定义自定义错误页面,如果发生了404或500错误,重定向到自定义的错误页面,程序员可以到日志文件中查看具体的错误信息

个人能想到的就是这些,我想问下我的想法对不对?如果不对的话有没有什么更好的方法?


没有必要,完全可以封装下!!!
------解决方案--------------------
可以在在基类中去写错误事件

但是有时候我们需要自定义错误信息,所以在不同的页面用到try{...}cache{throw(new Exception("自定义错误信息"));}

if(xx!="xx"){
 throw(new Exception("自定义错误信息"));
}

------解决方案--------------------
net的异常处理是有4个相关事件的,具体忘记了,百度下就能找到了

最开始是Page带的,如果没有相关处理事件,则向上找。。。。

最后是application级别的