问题标签 [error-reporting]

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 投票
3 回答
2512 浏览

validation - 标准错误日志文件的良好布局是什么?

我正在尝试为我的桌面程序设计错误和警告日志文件。

当我的程序读取用户的输入文件时,它可能会发现语法错误或某种无效数据。一旦读取所有内容并且程序正在处理数据,可能会发现更多问题。

我想将有关这些的消息写入一个简单的文本文件。我可能还想包含信息文本以指示进度、时间、内存使用等。我想包含行号,甚至可能包含导致错误的实际输入行。

这将是用户想要浏览的文件,因此显然它必须布局合理且易于使用。

你知道这方面的任何风格指南吗,或者你有没有看到一个错误日志文件让你想到:“现在这是一个设计良好的日志文件!”


跟进:

前三个答案实际上更适用于服务器或事件日志。

我真的在为我的桌面程序寻找一种日志文件格式,以详细说明它在输入文件中发现的任何问题以及其处理的成功(或失败)。

我确信您使用过的一些桌面应用程序会生成此类日志文件。你见过什么好的吗?

0 投票
1 回答
548 浏览

ruby-on-rails - Rails 插件|通过电子邮件发送错误报告的 Gem?

你能推荐我一个通过电子邮件发送错误报告的 Rails 插件/Gem 吗?

0 投票
2 回答
3542 浏览

php - 如何阻止 PHP 输出缓冲吃错误消息?

好吧,现在我已经深入了一点,我意识到这是一个愚蠢的问题,而且是错误的。事实证明,我维护的遗留代码的作者正在使用一条php_init语句将错误日志劫持到另一个文件中。劫持发生在打开输出缓冲的同时,使得输出缓冲看起来好像在丢弃我的错误消息。

所以,版主先生,请随意删除此内容。感谢那些真诚回答的人。


给定以下 PHP 脚本:

我得到以下错误日志输出:

为什么输出缓冲会吃掉我的错误消息?我怎样才能让它停止?

或者,是否有另一种方法可以将消息从输出缓冲区中偷运出来,或者它只是一个黑洞?

(使用 PHP 5.2.4-2ubuntu5.10

0 投票
1 回答
3265 浏览

java - Intellij IDEA 9:如何禁用 HTML 文件中错误的突出显示?

如何在 Intellij IDEA 9 中禁用 HTML 文件中的错误突出显示?

0 投票
7 回答
68429 浏览

php - PHP FPM 为所有 PHP 错误返回 HTTP 500

我正在使用 PHP-FPM 运行 nginx。我用于处理 php 文件的 nginx 配置如下所示:

现在,我有一个简单的 php 文件,如下所示:

是的,有一个明显的错误。当我尝试访问 php 文件而不是跟踪语法错误时,我总是得到一个 HTTP 500 内部服务器错误。我尝试使用error_reporting(-1);但它仍然总是返回 HTTP 500。我如何让 PHP 打印确切的错误而不是返回一个通用 HTTP 500?

0 投票
5 回答
653 浏览

objective-c - 由于 Objective-C 中的整数溢出,处理和报告内存分配错误的最佳方法是什么?

首先,让我说我理解我所描述的问题如何以及为什么会发生。我是计算机科学专业的,我了解上溢/下溢和有符号/无符号算术。(对于不熟悉该主题的人,Apple 的安全编码指南简要讨论了整数溢出。)

我的问题是关于在检测到此类错误后报告并从中恢复,尤其是在 Objective-C 框架的情况下。(我编写和维护CHDataStructures。)我有一些集合类,它们为存储对象分配内存并根据需要动态扩展。我还没有看到任何与溢出相关的崩溃,可能是因为我的测试用例大多使用健全的数据。但是,考虑到未经验证的值,事情可能会很快爆发,我想防止这种情况发生。

我已经确定了至少两种可能发生这种情况的常见情况:

  1. 调用者将一个非常大的无符号值(或负符号值)传递给-initWithCapacity:.
  2. 添加了足够多的对象导致容量动态扩展,并且容量已经增长到足以导致溢出。

简单的部分是检测是否会发生溢出。(例如,在尝试分配length * sizeof(void*)字节之前,我可以检查是否length <= UINT_MAX / sizeof(void*),因为未通过此测试将意味着产品将溢出并可能分配比预期小得多的内存区域。在支持它的平台上,checkint.h API是另一种选择。)更难的部分是确定如何优雅地处理它。在第一种情况下,调用者可能更有能力(或至少在心态上)来处理失败。第二种情况可能发生在将对象添加到集合的代码中的任何位置,这可能是非常不确定的。

那么,我的问题是:在这种情况下发生整数溢出时,“好公民”Objective-C 代码应该如何行动?(理想情况下,由于我的项目是一个与 Cocoa 中的 Foundation 精神相同的框架,我想模拟它的行为方式以实现最大的“阻抗匹配”。我发现的 Apple 文档在关于这一切。)我认为无论如何,报告错误是给定的。由于添加对象的 API(这可能导致场景 2)不接受错误参数,如果有的话,我真的可以做些什么来帮助解决问题?在这种情况下,什么才是真正可以接受的?如果我能做得更好,我不愿意故意编写容易崩溃的代码......

0 投票
3 回答
2883 浏览

php - 如何在 .htaccess 中输入多个 PHP 值?

我正在编辑 .htaccess 文件,以便对我的 php.ini 文件进行一些覆盖(我无权访问它)。到目前为止,我已经添加:

我正在编辑的应用程序(vTiger CRM)建议将“error_reporting”设置为“E_WARNING & ~E_NOTICE”。当我输入该值时,我最终得到一个错误 500。如何添加正确的 error_reporting 值?谢谢。

0 投票
4 回答
1664 浏览

php - 可以关闭库代码的 E_STRICT,但不能关闭我的代码?

是否可以更改我的 PHP 应用程序包含的文件的错误报告级别(关闭 E_STRICT )includerequire_once

我希望能够看到我的代码中出现的严格通知,但我使用的是 PEAR MDB2,当我打开 E_STRICT 时,我会从该代码中收到几页警告。

我知道可以error_reporting使用 .htaccess 文件在每个目录的基础上进行更改,但我认为这不适用于包含的文件。我试着把它放在梨文件夹里,但它什么也没做。

0 投票
25 回答
5637 浏览

user-interface - 如何让用户阅读错误信息?

如果您为非技术受众编程,您会发现自己面临很高的风险,即用户不会阅读您措辞谨慎且富有启发性的错误消息,而只是沮丧地单击第一个可用的按钮。

所以,我想知道你可以推荐什么好的做法来帮助用户真正阅读你的错误信息,而不是简单地放弃它。我能想到的想法将遵循以下原则:

  • 格式化课程帮助;可能是一条简单的短消息,带有“了解更多”按钮,可显示更长、更详细的错误消息
  • 将所有错误消息链接到用户指南的某些部分(有点难以实现)
  • 只是不要发出错误消息,只是拒绝执行任务(有点“苹果”处理用户输入的方式)

编辑:我心目中的受众是一个相当广泛的用户群,他们不经常使用该软件并且没有被俘虏(即,没有内部软件或狭窄的社区)。这个问题的一个更通用的形式是在slashdot上提出的,所以你可能想在那里查看一些答案。

0 投票
5 回答
2078 浏览

php - PHP 根本不返回错误

我正在运行 PHP 和 nginx,并使用 php.ini 的生产版本。所以变量 display_error 设置为 Off 并且有充分的理由我想要这样。但是对于某些文件,我需要启用错误报告。我使用 ini_set 打开错误报告。但是一个简单的代码片段,例如:

不跟踪错误。它只是返回一个 HTTP 500 内部服务器错误消息。我应该怎么做才能启用错误报告?