【发布时间】:2023-04-10 07:36:01
【问题描述】:
在我的 ASP.NET MVC 应用程序中,我不想向用户报告所有异常消息。但是我想向用户报告某些类型的异常,所以我创建了一个操作过滤器来确定它是否是这种特定类型的异常,如果是,则显示异常的消息,否则显示一般消息。所以我创建了一个名为 ClientException 的自定义异常。
我的过滤器看起来像这样:
if (filterContext.Exception is ClientException)
message = filterContext.Exception.Message.Replace("\r", " ").Replace("\n", " ");
else
message = "An error occured while attemting to perform the last action. Sorry for the inconvenience.";
filterContext.HttpContext.Response.Status = "500 " + message;
我读到了http://blogs.msdn.com/b/kcwalina/archive/2007/01/30/exceptionhierarchies.aspx,作者建议使用现有的 .NET 异常类型来报告使用错误。但是,通过引入我的自定义异常,我只需要在我的过滤器中进行一次检查。我的方法好吗?
【问题讨论】:
标签: c# .net asp.net asp.net-mvc exception