问题标签 [custom-error-handling]

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.

0 投票
37 回答
249287 浏览

php - 参考 - 这个错误在 PHP 中是什么意思?

这是什么?

这是一些关于您在编写 PHP 时可能遇到的警告、错误和通知的答案,但不知道如何修复它们。这也是一个社区 Wiki,因此邀请每个人参与添加和维护此列表。

为什么是这样?

Stack Overflow 上经常会出现诸如“已发送标头”“调用非对象成员”之类的问题。这些问题的根本原因总是相同的。因此,这些问题的答案通常会重复它们,然后向 OP 显示在其特定情况下要更改哪一行。这些答案不会为站点增加任何价值,因为它们仅适用于 OP 的特定代码。其他具有相同错误的用户无法轻松地从中读取解决方案,因为他们过于本地化。这很可悲,因为一旦您了解了根本原因,修复错误就变得微不足道了。因此,此列表试图以通用的方式解释解决方案。

我应该在这里做什么?

如果您的问题已被标记为与此问题重复,请在下面找到您的错误消息并将修复程序应用于您的代码。答案通常包含进一步调查的链接,以防仅从一般答案中不清楚。

如果您想做出贡献,请添加您“最喜欢的”错误消息、警告或通知、每个答案一个、简短描述其含义(即使它只是在其手册页中突出显示术语)、可能的解决方案或调试方法以及有价值的现有问答列表。此外,请随时改进任何现有答案。

名单

另见:

0 投票
1 回答
2462 浏览

c# - 在 Web 服务中为 InfoPath 客户端显示自定义错误消息

我有一个将记录提交到数据库的自定义 Web 服务,

提交给表的 JF_ID 值引用主/源表的 JF_ID 值。因此,如果用户尝试提交不存在的 JF_ID,则会捕获 sql 异常,说“违反参照完整性等......

这是我的网络服务的样子:

}

用户可能有许多故障数据条目。例如,用户输入字符串而不是整数值,如果他尝试提交不存在的 JF_ID 的条目,则违反参照完整性。

如何确保在捕获此类 SQL 异常时,从我的 Web 服务传递用户友好的自定义错误消息(例如输入的 ID 不存在。数据插入失败!)。最后,我想将此友好的错误消息传递给 InfoPath 客户端。

非常感谢。

0 投票
1 回答
277 浏览

asp.net - 如何在运行时更改 web.config 设置的 customError 配置?

我目前在我的 web.config 中有一个 customError 节点,如下所示:

在运行时,我希望能够更改应用程序行为,就像将属性 redirectMode 设置为 ResponseRedirect 而不是 ResponseRewrite 一样。我必须能够在不更改 web.config 文件的情况下执行此操作。这可能吗,如果可以,怎么办?预先感谢您的任何帮助。

0 投票
1 回答
867 浏览

javascript - 扩展原生 JavaScript Error 构造函数

我尝试通过扩展Error构造函数的原型来扩展JavaScript错误属性:

然后我测试日志功能:

结果是错误对象只显示一些属性(例如在 FirefoxfileNamelineNumbercolumnNumber),就像它没有被扩展一样。

但最奇怪的是,for...in循环似乎无法遍历所有的错误对象属性:试图提醒标准属性error.message通常会返回一条消息。

所以我的测试结果是:

  1. Error 构造函数不能像其他本地构造函数那样通过其原型进行扩展;
  2. for...in循环无法遍历错误对象的属性。

我对吗?
是否有一些有趣的证据/资源,您可以建议了解更多信息?

0 投票
0 回答
565 浏览

c++ - 带有默认 sax 处理程序和自定义错误处理程序的 libxml2

我想通过以下方式在 C++ 程序中使用简单的 libxml2 解析器:

  1. 默认 sax 处理程序很好(实际上我想避免自己编写。我知道我可以使用自定义 sax 处理程序做我想做的事)
  2. 解析器应该嵌入可以任意实例化(可能是多线程)的 C++ 类中,libxml2 解析器上下文作为成员 var
  3. 还有其他组件也在使用 libxml2,但我无法控制(我无法准确说出它们的作用以及它们如何使用 libxml2)
  4. 在 C++ 类中,我想使用一个自定义错误处理程序,它不仅打印到 stderr,而且我想收集错误并抛出异常

例子:

这是不起作用的(根据我的测试和理解):

  • 使用 xmlSetStructuredErrorFunc() 或 xmlSetGenericErrorFunc() 并将当前 C++ 实例设置为用户数据,因为这些函数只是设置了一个全局变量(不是线程安全的)
  • 使用 xmlNewParserCtxt() 并将 ctx->sax->serror 设置为常规 C++ 方法 - 错误处理程序必须是静态的
  • 与以前相同,但使用静态类方法-实际上确实有效,但同时我想设置 ctx->user_data (设置为当前 C++ 实例的“this”)-这会使解析器崩溃,看起来好像在里面libxml2 ctx->user_data 的函数通过应该只有 ctx 的函数传递......但是这种情况始终如一地发生,即看起来更像是一个特性而不是一个错误:-)

现在,有人知道如何让它工作吗?

很多谢谢!

0 投票
1 回答
454 浏览

.htaccess - 自定义 404 错误页面正在生成 500 错误

出于安全原因,我让所有 php 文件生成 404 错误,然后使用自定义 404 错误页面,如下所示:

我去的任何 php 脚本都会返回一个自定义的 404 错误页面,如我所愿,但在下面它说:

此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。

但是当我转到一个实际上不存在的页面时(比如说http://localhost/Hello/world.html),我得到了我想要的错误页面。

我很困惑,我做错了什么。另外,我希望能够为我的自定义使用 php 页面ErrorDocument,但我不确定这是否可能。

0 投票
5 回答
3170 浏览

coldfusion - 在 Win2k8 R2 x64 上的 ColdFusion 10 中处理 404 错误时出现问题?

我在使用 IIS 中的自定义错误处理程序(执行 URL)在 Windows 2008 R2 x64 上的 ColdFusion 10 中正确处理 404 错误时遇到了困难。我已经在以前版本的 CF 中做到了这一点,没有任何问题。在 IIS 中,在网站功能下,我打开“错误页面”并将其设置为对所有 404 错误执行“/404.cfm”。

我遇到的问题是 404.cfm 页面的输出没有完全发送回浏览器,并且页面没有正确加载。有时我一无所获,有时我得到 1K,有时我得到更多。这是非常不一致的。

除了在 IIS 中设置 404.cfm 处理程序外,我还在 Application.cfm 中的 onMissingTemplate() 方法中调用它:

在我的404.cfm错误处理程序中,我正在调用:

...然后我输出一堆东西。

当我在 404.cfm 中删除对 cfheader 的调用时,错误处理程序会正确加载 [for ColdFusion requests]。那是因为没有任何东西通过 IIS - 相反,它只是通过 ColdFusion 中的 onMissingTemplate() 方法。但是,响应头给了我一个 200 状态码,这是一个问题!出于显而易见的原因,它需要是 404 状态码。

当我包含 cfheader 调用请求非 ColdFusion 页面时(IIS 将生成 404 状态代码),我的 404.cfm 处理程序的输出未完全返回到浏览器。我认为这与 IIS 采取行动有关。

我确实在 CF 错误数据库中报告了这一点,但我想知道我是否做错了什么。错误在这里:https ://bugbase.adobe.com/index.cfm?event=bug&id=3488063

0 投票
2 回答
4891 浏览

asp.net-mvc - 在 MVC 4 应用程序中处理带有自定义错误的 UnauthorizedAccessException

我通过在 filterConfig 注册中应用 HandleError 属性为应用程序启用了全局错误处理。

然后,我使用自定义错误(web.config)希望为每个服务器错误显示友好的错误消息。

对于大多数异常,这似乎工作正常,并且我得到了预期的行为,因为正在显示自定义错误页面视图(共享视图文件夹中的 Error.cshtml)。

但是,我最近注意到,如果抛出的错误是 UnauthorizedAccessException,这不是我看到的行为。

我对此感到有些困惑,因为在 fiddler 中我看到这个 UnauthorizedAccessException 异常返回一个普通的 500 内部服务器错误,就像标准异常一样。

那么标准异常怎么会遵守我的 customError 设置而 UnauthorizedAccessException 却没有呢?

以及如何让它们表现相同,因为它们本质上都是一个错误,我想阻止最终用户看到。

0 投票
2 回答
536 浏览

javascript - 如何捕获错误并将错误详细信息保存在数据库中并重定向到经典 asp 中的自定义错误页面?

如何捕获错误并将错误详细信息保存在数据库中并重定向到经典 asp 中的自定义错误页面?

我希望我应该在我网站的所有页面中包含一个 asp 页面,如果发生任何错误,它会获取该错误详细信息,将其保存到数据库或将其邮寄到邮件 ID 并重定向到自定义错误页面。如果您有任何想法,请帮助我。

0 投票
1 回答
319 浏览

perl - Perl SQLite 错误处理:根据错误码采取不同的动作


我是 Perl 编程的新手(也是 SO),所以我的问题可能以一种糟糕的方式表述,但我确实阅读了很多书籍和教程,但我没有找到任何解决(甚至提到)我的问题的东西。

我正在尝试使用 DBI 和 SQLite 编写一些代码,如果发生可恢复的错误(数据库已满或锁定等),则重试插入查询,但如果错误不可恢复(数据库已删除或损坏等),则会死亡。

我发现 SQLite C 接口导出错误代码:

http://www.sqlite.org/c3ref/c_abort.html

但我还没有发现任何与 Perl 类似的东西。我真希望我不必在我的第一个 Perl 程序中使用幻数!:-)

顺便说一句,我在网上看到的文档和示例很好地解释了 DBI 中的手动与自动(即有异常)错误处理,但没有一个显示如何根据错误类型采取不同的操作。这不是一个常见的用例吗?
此外,他们都同意 DBI::err 不是判断发生了哪个错误的正确变量。他们或多或少含蓄地说要使用 DBI::errstr,但我发现依赖字符串比较与面向人的可能多行错误字符串有点尴尬......

感谢您的任何建议!