- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
处理 Application_Error
中的错误时,我应该使用这两个中的哪一个?
我正在为两者找到多个示例,但不清楚一个是否比另一个更好。是否存在只有一个会显示正确错误的情况?
另外,我怀疑这很重要,但该应用程序使用的是 MVC 4。
最佳答案
这取决于您究竟需要什么。
来自 Exception.GetBaseException 的文档:
When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.
Application_Error
在上层处理异常,可能经过几个异常处理机制,所以如果像这样抛出异常:
try {
//Lots of code, method calls, etc...
try {
throw new FooException("Foo");
} catch(FooException fe) {
throw new BarException("Bar", fe);
}
}catch(BarException be) {
throw new FooBarException("FooBar", be);
}
然后
GetLastError
会给你
FooBarException
, 而
GetLastError().GetBaseException()
会给你
FooException
.所以前者返回实际未处理的异常,而后者返回根本原因。
GetLastError
或
InnerException
关于asp.net - Application_Error - GetLastError() 或 GetLastError().GetBaseException(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085465/
在 Webform1.aspx.cs 中: protected void Page_Load(object sender, EventArgs e) { throw new Exception
如果 URL 存在,我有一些代码可以显示按钮: try { string dashboardURL = Config.RootUrl + "/Dashboard/Default.aspx";
我的 Global.asax 文件中有以下代码: protected void Application_Error() { var exception = Server.GetLastErro
我正在尝试运行一个将异常记录到数据库的 ASP.NET 应用程序。我正在使用 Application_Error 来捕获异常。 在添加连接字符串之前,只是为了测试我的代码(Logger 类和 Glob
我使用 Application_Error 来处理 ASP.NET MVC 3 应用程序中的错误。今天我注意到,对于一个特定的错误情况,此方法被调用了两次:请求带有前导下划线的资源时,例如_ViewS
最近我们开始发现一个问题,即在与处理请求的线程不同的线程上调用 Application_Error 事件处理程序(对于 HttpApplication.Error )。 我们最近改变的事情: 32 位
Application_Error 未在生产服务器上触发。但它在我们的本地服务器和其他亚马逊服务器上工作。我们的本地服务器有Windows7操作系统和IIS(7.5)版本,但生产服务器有Windows
所以我有一个全局错误处理程序,它会在我的应用程序出现错误时发送电子邮件。这很好用,但是,有一些错误(即可怕的“对象引用未设置到对象的实例”错误)极难追踪。我有一个简洁的函数,可以为我将序列化模型转换为
我正在尝试进行重定向,我有一个单例类,它是我的配置类,获取关于它的信息并使用我的连接字符串,这些数据我保存在一个加密文件中,我正在使用 session-per-请求,然后在安装之前我需要检查 sess
我必须在 Application_Error 处理程序中进行异步调用。所以我用 async 关键字定义了这个处理程序,但它不会在异常时触发。 protected async void Appl
如何从 Application_Error 重定向到另一个页面? 目前我在做 Response.Redirect("~/Account/LogOn"); 但我想做一些类似RedirectToActio
在过去的 2 周里,我遇到了一个我无法解决的案例,也许你们已经解决了同样的问题或者听说过/阅读过它并且可以帮助我。 我有一个在我的机器和其他机器上运行的 ASP.NET 项目,每次我尝试调节 Quer
我有一个名为 LogErrorAttribute 的全局异常过滤器: public class LogErrorAttribute : IExceptionFilter { private I
我正在尝试找出如何从 MVC 中的 Application_Error 方法创建异步调用。 我有一个我编写的电子邮件 dll,它使用 Smtp 客户端通过异步调用发送电子邮件。 问题是,当我在我的 d
我有一个 Asp.Net 4.0 Web Forms 应用程序在某些时候抛出以下错误 “Server Error in ‘/MySiteDev’ Application” . 这个错误只是偶尔出现。此
在 VS2010 SP1 中调试我的 MVC 4 应用程序时,Application_Error()处理程序被调用,但 Server.GetLastError()为空。 protected void
我使用 Application_Error 处理程序来记录所有未处理的异常;一般来说,它运行良好,但总是会跳过 404 错误。有什么想法可能是什么原因吗? 最佳答案 实际上,这是因为您的网络服务器返回
我想在全局范围内捕获这些类型的错误,以便我可以将它们记录到数据库中并向用户显示一条友好的消息:500、403 和 404。我正在使用 Log4Net 处理错误。 void Application_Er
我试图找到一个在所有 Application_Error 事件处理程序之后立即触发的事件,以便我可以修改发送的响应(弄乱状态代码和“位置” header 并创建一个新的正文)使用自定义 HttpMod
我正在尝试在我的 MVC 应用程序中实现全局错误处理。 我的 Application_Error 中有一些逻辑重定向到 ErrorController 但它不起作用。 我在 Global.aspx 的
我是一名优秀的程序员,十分优秀!