问题标签 [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 投票
1 回答
1886 浏览

httpwebrequest - 有没有办法改变 400/500 状态码的 HttpWebRequest 行为?

我正在努力在 .NET中的HttpWebRequest/类型之上构建一个流畅的 REST 客户端界面。HttpWebResponse到目前为止,一切都很好......但是我正在尝试开发一个可插入的安全框架,可以自动处理安全令牌协商、令牌刷新等。

HttpWebRequest/Response由于遇到 400 系列或 500 系列 HTTP 状态代码时的工作性质,我遇到了问题。它们不是简单地设置.StatusCodeand.StatusDescription属性并允许您以任何您希望的方式处理,而是抛出一个WebException. 一般来说,这可能不是问题……但是我们进行身份验证的方式(OAuth 2.0 的衍生版本),我需要处理某些 400 系列错误而不会发生异常。

有没有办法将 HttpWebRequest/Response 重新配置为 NOT throw WebException,并允许消费者确定他们自己的错误处理?我知道有一些迂回的方式来处理旧的 Http1.0 服务器的 Expect-100-Continue ......我很好奇是否有类似的迂回方式来禁用 WebExceptions。

(哦,简直无法抗拒......向我在 RedGate 的好朋友们大声疾呼,因为他们非法拿走了 Reflector 6 的许可绑定免费版本......我也许能弄清楚这个如果我可以窥探代码,就靠我自己……但是唉……遗憾的是,Reflector 是一个不可行的选择,因为它已经通过自溶消耗了自己。;P)

0 投票
1 回答
220 浏览

error-handling - 存在哪些记录已处理和未处理异常的错误日志 Web 服务或应用程序?

我知道 ELMAH,但它只记录未处理的错误。我需要记录所有错误(已处理和未处理)的东西。有谁知道这样的程序或服务可以做到这一点?最好是可以在任何平台上使用任何语言的开源软件,尽管我愿意考虑其他类似于 ELMAH 的项目并记录所有错误(已处理和未处理)。

仅供参考,我也知道 log4net,这将是理想的,但我听说它非常复杂,我想要一些易于实现的东西。

提前致谢!

0 投票
2 回答
8934 浏览

asp.net - 在 IIS7 中设置自定义错误页面时是否可以使用相对路径?

我正在尝试为我的 Web 应用程序设置自定义 404 错误页面。问题是这个应用程序将被部署到许多不同的环境中。有时它会在虚拟目录中,有时则不会。

我在一个名为 ErrorPages 的目录中有错误页面,并设置了我的配置,如下所示:

问题是当我将它部署到网站的根目录时,/VirtualDir需要删除该部分。如果我在部署之前将其删除,那么我需要在部署到虚拟目录时将其重新添加。有什么方法可以将路径设置为相对于虚拟目录而不是站点?

我尝试过使用 a ~,但这也不起作用,如下所示:

0 投票
3 回答
671 浏览

php - PHP - 应该使用 set_error_handler 吗?

根据我对 PHP 文档的理解,设置自定义错误处理程序(无法捕获所有错误)会停用默认的 php 错误处理程序(我猜它可以捕获所有错误:)。

如果这是正确的,是否有任何设置自定义错误处理程序的目的?我总是保留error_reporting(-1),所以无论如何我都应该在错误日志中得到所有错误,对吧?

至于用户体验,我看不到以自定义方式显示这些错误的目的——你为什么希望用户看到它们?在生产中,我总是将 display_errors 设置为关闭。

0 投票
2 回答
2756 浏览

c# - C# 在另一个函数中覆盖 try-catch

我正在使用从 Internet 获得的 dll 来使用 C# 中的网络摄像头。如果找不到连接的网络摄像头,我想显示类似“无法找到要使用的摄像头。请确认此时没有其他应用程序正在使用您的摄像头,然后重试”。我遇到的问题是 dll 的创建者在他们的 dll 编程中包含了一个 try-catch ......所以我的 try-catch 从来没有看到是异常,因为出现了“引用的对象未设置为对象的实例”错误代替(由 try/catch 格式化为 MessageBox)。有没有办法在显示消息并显示我自己的消息之前覆盖内置的错误处理?

0 投票
1 回答
2222 浏览

c# - Windows 7 - 禁用关闭程序/调试程序对话框,但故障转储并通知用户

我正在开发一个商业 Windows 7 桌面应用程序(有点收缩包装,但不完全)。该应用程序具有 Windows 服务和 WPF 用户界面组件。如果我们的应用程序在客户站点发生故障,我们希望能够捕获有关运行时环境的信息,包括将我们的进程崩溃转储到转储位置。然后,可以根据要求将该信息转发给我们的支持人员以进行进一步调查。我们还希望关闭任何可能因故障而弹出的Windows 错误报告发送到 Microsoft对话框。

重要的是我们只希望它影响我们的应用程序流程。我们不想影响某些全局设置,这些设置会改变客户桌面上所有其他应用程序报告致命错误的方式。

我正在寻找在收缩包装应用程序中执行此类操作的一些建议和最佳实践。

0 投票
2 回答
212 浏览

c# - 处理异常、错误和返回值的问题

我需要你的建议。我的源应用程序变得非常……扩展。我在处理错误、异常等方面有一点问题。

例如,我有“DatabaseProvider”类,其中有与 db 联系的方法。我必须处理标准异常、无效数据表单数据库(例如错误的电子邮件格式)、从数据库返回的错误。我需要返回到调用 DatabaseProvider 方法的函数的所有内容,以便该方法将记录此异常或错误,并且仍然可以工作。所以我不能抛出异常。

如果这还不够,在大多数情况下,我必须(从 DatabaseProvider)返回一个值或对象或对象列表。

所以我想,也许可以创建一个“响应”类。该类的对象将从我的应用程序中的每个方法返回。

像这样:

但是如何同时返回(例如)一个自我设计对象的列表?

使用“out”参数是解决方案吗?什么是最好的方法(最佳实践)?我正在搜索,但我发现的只是如何处理异常(仅)..

0 投票
1 回答
1769 浏览

error-handling - 以干净有效的方式处理 Lua 错误

我目前正在尝试为朋友编写一个流行的魔兽世界游戏插件。我自己对游戏不太了解,在游戏中调试它很困难,因为他必须做所有的测试。

我对 Lua 很陌生,所以这可能是一个很容易回答的问题。但是当 WoW 中发生 Lua 错误时,它会将其抛出到屏幕上并妨碍游戏,这对游戏玩家来说是非常糟糕的,因为如果它在错误的时间抛出异常,它将停止他们的游戏。我正在寻找一种方法来干净地处理抛出的错误。到目前为止,这是我的函数代码。

问题是当检查 p1 是否为 nil 时,它仍然会抛出关于尝试将 p1 调用为 nil 的 Lua 错误。有时它会为零,这需要正确处理。

解决此问题的正确最有效方法是什么?

0 投票
2 回答
743 浏览

php - 从 error_handler 访问变量

我有一个只能通过 ajax 访问的 php 文件。ajax 调用只需要格式化为json_encoded 输出的数据。我正在尝试制作一个自定义错误处理程序函数来捕获 php 错误,而不是直接输出它们,而是将它们传递给它们为 json 解析器编码的数组。

到目前为止我有

我的问题是该$response数组超出了文档其余部分的访问范围,因此它将在 json 对象中输出。是否有某种方法可以通过引用将变量传递给自定义函数或我忽略的另一种方法?

0 投票
2 回答
4656 浏览

wpf - WPF PasswordBox 中的错误处理

我一直很欣赏 Josh Smith 构建他的示例应用程序的方式。而且我还尝试模拟他的应用程序的 ViewModels 实现 IDataErrorInfo 属性的方式,并通过自定义 DataTemplate 在用户面前呈现错误。这是他用来显示错误的数据模板:

使用此数据模板的工作示例如下:

文本框的默认 ErrorTemplate(出现在其周围的红色边界)被新的错误模板替换,其中放置在文本框下方的内容呈现器会将错误传达给用户——当然是一个更高级、更优雅的模板。

如果您已经阅读了上面的代码,您可能已经猜到我正在尝试创建一个登录表单。

不幸的是,登录表单需要密码(以及随后的 PasswordBox)。PasswordBox 不提供“密码”作为依赖属性。我不想打破 MVVM 尽可能避免代码落后的准则,所以很想去这里提到的PasswordBoxAssistant类. 否则这是一个很好的解决方案,保存一件事。它不允许我使用 Josh 的数据模板验证密码框。我已经验证了我的 ViewModel 的密码属性不为空。该属性正在得到验证,因为我的“登录”按钮在没有用户填写密码的情况下没有启用。但是,我在此属性验证过程中设置的“输入密码”消息并未由位于 PasswordBox 下方的内容呈现器呈现。代码如下:

不用说,上面代码中的 ff 代表命名空间引用:

我敢肯定,这个问题正在发生,因为 Password 属性已被助手类扩展。如果我放弃这种方法,我将不得不从 IDataErrorInfo 实现中删除 Password 属性,并且在登录按钮上单击必须验证它,向用户显示一个消息框。但并非不影响一致性。我不太了解依赖属性;有什么解决方法吗?以某种方式更改助手类会让我恢复红色错误消息吗?