自定义异常集成系统HandlerEorrorAttibute
发现在Controller里抛出异常能进入 异常处理,
但是如果是BLL层或者其他公共类里面的方法报错 则 捕捉不到异常,,很是奇怪。。!!!
需要在Application_Error捕捉。这可能是什么问题?
继承系统自带的异常处理。。。
在Global里注册了全局,Controller调用BLL层或者其他程序集公共类里抛出异常 却不进异常处理。
你所说的BLL层里加了HandlerEorrorAttibute 这个标签吗?Controller里能进入异常处理也许是因为你在基类里加了那个标签(action的左上角)。
请教一个问题mvc中为什么还出现BLL层???不是客户端(Asp.Net MVC)+服务端(WCF、WebService、WebApi)?
BLL 是业务逻辑 你即使是webapi 也要有逻辑业务啊 逻辑业务写哪? 不矛盾
另外不是在BLL模块加标签,这玩意加那上面有个鬼用, 我自己发现了原因。
HandlerEorrorAttibute 并不能捕捉到所有的异常。 最典型的就是 没进入到controller 和 action的异常它是捕获不到的。。。我的就是还没进入暴出的异常 所以捕获不到。。。
要想捕获所有 还是用 appication_error 。
@Allen_Chang: 那你们业务是挺复杂的。HandlerErrorAttibute是注册到GlobalFilterCollection中,GlobalFilterCollection是继承于IFilterProvider,它只针对Contoller中的Action进行处理,不能捕获controller以外的异常,那是不是可以在BLL层继承HandlerErrorAttibute并且重写注册到自定义过滤器中(你想捕获异常的地方)。
1 HandlerEorrorAttibut—>HandlerErrorAttibut