问题标签 [application-error]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 抛出要在 Global.asax 的 Application_Error 处理程序中处理的所有错误
我想将所有表单错误都扔到事件日志中。为此,我向 Application_Error 处理程序添加了代码,以将错误文本发送到事件日志。我想知道如何在不破坏页面生命周期的正常流程的情况下抛出异常以在 Application_Handler 中捕获。
我尝试简单地抛出ApplicationException:
它的工作原理是将错误详细信息添加到事件日志中,但引发异常的页面在引发错误后没有显示任何内容。它是空白的。
有任何想法吗?非常感激。谢谢你,周末快乐!
asp.net-mvc-3 - MVC ELMAH v/s Application_Error
背景
我在我的 MVC Web 应用程序中设置了[HandleError]用于异常处理,但后来它无法处理一些异常,所以我被建议继续使用替代Application_Error(我的 SO Post)我也最终使用了ELMAH,这似乎更好。
好吧,ELMAH 摇滚!但我无法找到如何显示格式化异常(就像我对 Application_Error 所做的那样)
ELMAH v/s Application_Error
ELMAH - 提供(几乎)开箱即用的异常日志记录和其他功能,如电子邮件。它完全依赖于 web.config 和它需要的一堆文件。能够在 xml / 数据库(如配置)中记录异常,并且能够发送电子邮件、rss 等。提供一个页面,用户可以在其中查看完整的异常日志并深入了解详细信息。
优点:出错时不显示格式化异常。使 web.config 有点笨重。ELMAH 文件集为 2.8mb(超过我的整个 Web 应用程序 zip 大小的两倍)。无法格式化错误/电子邮件。它依赖于 System.Data.SQLite.dll,它依赖于 CPU 架构(x64 或 x86)所以发布
Application_Error - 捕获所有异常,我们能够导航用户以显示格式化错误。我们控制显示和通过电子邮件发送的内容。完全托管的代码(不依赖 CPU)没有额外的 web.config 设置。没有额外的dll。
优点:没有隐式异常日志记录(我们需要编码)。没有像 ELMAH 这样的日志查看器。电子邮件、日志记录 - 我们必须管理所有内容。
结论:首先,请告诉我 ELMAH 是否可以“完全”替换我的 Application_Error。此外,我没有找到太多关于如何配置使用 ELMAH 显示/通过电子邮件发送的错误消息。还是它们必须共存 (Application_Error 显示格式化错误,ELMAH 显示几乎所有其他内容)
请提出建议并分享您的经验。
asp.net - 有什么方法可以从 Global.asax 中的 Application_Error 捕获的未处理异常中获取更多信息?
在生产中,我在 Global.asax 中处理了 Application_Error 事件,以记录(并通过电子邮件发送给我)任何潜入的未捕获异常的详细信息:
然而,错误消息本身通常是无用的;有一个堆栈跟踪,但没有行号,通常没有引用我自己的任何代码,只有 .net 框架(BCL)方法。有时至少会有关于页面名称的提示,但这已经是最好的了。
例子:
引发了“System.Web.HttpUnhandledException”类型的异常。
远程主机关闭了连接。错误代码为 0x80072746。
系统.Web
布尔句柄错误(System.Exception)
在 System.Web.UI.Page.HandleError(Exception e) 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 在 System .Web.UI.Page.ProcessRequest() 在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 在 System.Web.UI.Page.ProcessRequest(HttpContext context) 在 ASP。aRealPageName_aspx .ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
那么知道如何让 global.asax 给我更多有用的错误信息吗?
我知道如果有办法告诉代码放在哪里,我可以在代码中添加一个 try-catch,但没有。
asp.net - 如何捕获触发自定义错误页面但不触发 Application_Error 的 ASP.NET 错误
我有一个使用自定义错误的 ASP.NET 应用程序。发生了一个错误,我似乎无法获得任何信息。当错误发生时,它会触发自定义错误页面,但由于某种原因它不会触发 Page_Error 或 Application_Error。如果我完全关闭 CustomErrors,我绝对不会得到任何反馈。到目前为止,我得到的唯一反馈是重定向到自定义错误页面。
场景:ASP.NET WebForms 应用程序。其中一个页面有一个带有提交按钮的 UpdatePanel。该页面工作正常。但是如果我走开一会儿(似乎是 30-60 分钟)然后回来点击提交按钮,什么也没有发生;没有错误,页面没有响应 - 什么都没有。在调试器中运行时,我无法做到这一点;仅当它托管在 IIS (7.5) 中时才会发生。[我看过其他关于这个问题的 SO 帖子,但没有一个建议对我有用。]
当错误发生时,使用 CustomErrors=On 或 RemoteOnly,重定向到自定义错误页面有效,而使用 RemoteOnly,从服务器,我根本没有收到任何反馈,类似于使用 customerrors=off 的远程连接。我真的很希望 YSOD 错误页面。
我尝试通过将错误记录到数据库来捕获 Page_Error 中的错误,但这也不起作用。我知道 Page_Error 并且 DB 部分正在工作,因为如果我将后面的提交代码更改为除以零,则错误会记录在 DB 中。此外,除以零错误将显示给客户端,customerrors=off,并显示自定义错误页面。但是删除除以零错误,然后等待 30 分钟左右再试一次,Page_Error 代码没有被命中,即使它确实重定向到自定义错误页面。然后我尝试将 Page_Error 中的代码移动到 Application_Error,但发生了完全相同的事情。强制除以错误有效,但这个看似与超时相关的错误无效。
那么,是否有某些错误仍然可以触发重定向到自定义错误页面,但不会触发 Application_Error 事件?
delphi - 寻找来自 csrss.exe 的应用程序错误
我是旧版 Delphi 应用程序的维护者。在运行这个程序的机器上,Application Error
有时会出现一个引用这个 Delphi 应用程序的标题和如下所示的消息:
“...”处的指令引用了“...”处的内存。无法“读取”内存。
单击确定以终止程序。
任务管理器说属于这个消息框的进程是csrss.exe。找到此错误根本原因的系统方法是什么?
问题是,这个Delphi程序相当复杂,错误信息出现的也比较少,所以我不能简单地单步调试代码,找出导致错误的部分。此外,该应用程序自动运行,无需用户中断,因此当消息出现时我无法询问用户她在做什么。应用程序和系统日志不表示任何问题。出现消息框时,应用程序不会停止工作。
我希望有人以前遇到过这样的错误消息并且能够解决问题。提前谢谢你的帮助。
asp.net - 处理 Application_Error global.asax 中的异常
我在全局文件中编写了代码Application_Error
。
我在我的数据库中插入错误详细信息。
但是有时它会插入数千条相同错误的记录。
这是否意味着内部存在错误Application_Error
如果是,那么我该如何处理。
编辑 1
插入错误后,我也重定向到错误页面。
错误详情
错误发生在页面上
但我没有发现任何问题。
custom-error-pages - 哪个更好:web.config 或 application_error 中的 CustomErrors?
我在我的 MVC 网站中捕获 404 错误。我可以选择通过在 web.config 或 application_error 中添加 customerrors 元素来做到这一点,但我不知道哪个更好。两者有什么区别?
ruby-on-rails - 在heroku上不断收到应用程序错误
自从我上次尝试访问我的应用程序时对 heroku 进行提交以来,我一直收到此错误“应用程序中发生错误,无法提供您的页面。请稍后再试。
如果您是应用程序所有者,请查看您的日志以获取详细信息。”
所以我运行 heroku logs 命令,我无法理解日志错误。我最了解的是 bcrypt gem 有问题,但我不确定是什么。任何帮助/解决方案将不胜感激,谢谢。
宝石文件
apache - 覆盖 Apache 中的 HTTP 500 内部服务器错误
我正在关注JBoss AS7 的 Apache 中的自定义错误页面一文来配置 apache 以覆盖 HTTP 500 内部服务器错误。我面临以下问题,任何猜测是什么问题?
在上述链接文章中的#2
# (4) 为“MyApp”应用程序设置错误代码404
JkMount /MyApp/* nodeA;use_server_errors=404
在 Windows 环境中,它可以直接指向 jboss
JkMount /MyApp/* jboss7;use_server_errors=500
但在 linux 中它指向负载均衡器
JkMount /MyApp/* loadbalancer2;use_server_errors=500
这给了我错误:
jk_handler::mod_jk.c (2372): Could not find a worker for worker name=loadbalancer2;use_server_errors=500
Windows apache 版本是 2.2.17,linux apache 版本是 2.5.1。
web.xml - 通过 webapp 错误页面自定义 HTTP 状态 500
我通过 webapp 自定义了错误代码 403(客户端错误),即在 web.xml 中添加条目,如下所示,效果很好。
我尝试使用上述方法自定义错误代码 500(服务器错误),如下所示。
但这不起作用(获取 jboss 的错误代码 500 而不是 error-500.xhtml 的原始错误消息)而且我不知道为什么,所以我只能选择通过 apache httpd 和 vhost 配置对其进行自定义。知道为什么这不起作用吗?