解决方案 »

  1.   


    protected override void OnException(ExceptionContext filterContext)
            {
                if (filterContext.Exception is System.ArgumentException)
                {
                    filterContext.ExceptionHandled = true;
                    //自定义...
                }
                else
                {
                    base.OnException(filterContext);
                }
            }
      

  2.   

    你这个是重写Controller吧?我现在做的web api,我是这样写的,不过不起作用,只对Action内部有效
    public class ApiExceptionFilterAttribute : ExceptionFilterAttribute
        {
            public override void OnException(HttpActionExecutedContext context)
            {
                ...
                else if (context.Exception is ArgumentException)
                {
                    context.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError };
                    var exception = (ArgumentException)context.Exception;
                    context.Response.Content = new StringContent(ErrorCode.ParamError.ToJson(context.Exception.Message + context.Exception));
                }
                ...
            }