WebApi异常过滤器

时间:2020-07-11 09:59:16   收藏:0   阅读:82
 public override void OnException(HttpActionExecutedContext actionExecutedContext)
        {
            var x = actionExecutedContext.Exception;
            Trace.TraceError(x.ToString());
            actionExecutedContext.Response = new HttpResponseMessage(HttpStatusCode.OK);
            actionExecutedContext.Response.Content = new ObjectContent<ApiResult>(ApiResult.ret((int)ApiResult.enum_result.fail, filter(x.Message), null), new System.Net.Http.Formatting.JsonMediaTypeFormatter());

        }
private string filter(string m_strError)
        {
            if (string.IsNullOrEmpty(m_strError) || m_strError.ToLower().Equals("null"))
                return string.Empty;
            Regex reg = new Regex("ORA-(.+):");
            m_strError = reg.Replace(m_strError, "");
            reg = new Regex("at(.+)");
            m_strError = reg.Replace(m_strError, "");
            reg = new Regex("在 \"I~H~M~S2014_TG_LOGIN(.+)");
            m_strError = reg.Replace(m_strError, "");
            reg = new Regex("在 \"line(.+)");
            m_strError = reg.Replace(m_strError, "");
            reg = new Regex(@"\n \n 在 line 1");
            m_strError = reg.Replace(m_strError, "");
            reg = new Regex(@"\n(.+)");
            m_strError = reg.Replace(m_strError, "");
            return m_strError;
        }

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!