首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

MVC3使用过滤器只能捕获Action的错误,怎么捕获到业务逻辑层的错误

2013-12-06 
MVC3使用过滤器只能捕获Action的异常,如何捕获到业务逻辑层的异常?现在的异常处理方式是实现IExceptionfil

MVC3使用过滤器只能捕获Action的异常,如何捕获到业务逻辑层的异常?
现在的异常处理方式是实现IExceptionfilter接口
重写OnExcption,然后使用log4net记录异常
但是发现,记录的异常是控制器中的异常,而不是最原始的异常

比如,action中调用业务逻辑层,业务逻辑层出现了一个数组下标越界的异常
业务逻辑层通过throw 向上抛,action捕获到的异常实际上不是数组下标越界的异常
信息(这里异常信息指的是业务逻辑层的异常行号、异常类型等)
而是Action中无关紧要的异常信息,这样的异常信息没什么用

暂时想到的办法是在每一个业务逻辑类中捕获异常,然后记录,但是又觉得这样太麻烦
有没有其他的类似过滤器的方法来统一实现?


[解决办法]
看看ExceptionContext的Exception里面的InnerException是不是最原始的异常信息

热点排行