问题标签 [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.
sql-server - SQL Server 2005 - Error_Message() 未显示完整消息
我在 Try/Catch 中封装了一个备份数据库命令,似乎错误消息在某处丢失。例如:
..给出错误:
无法在 sysdatabases 中找到数据库“NonExistantDB”的条目。未找到具有该名称的条目。确保输入的名称正确。BACKUP DATABASE 异常终止。
然而:
...只给出错误: 备份数据库异常终止。
有没有办法获得完整的错误消息,或者这是 try/catch 的限制?
c# - 服务边界处的 WCF 错误日志记录
我正在尝试在我的 WCF 服务中实现一个 IErrorHandler,以便在将其传递给客户端之前记录每个到达服务边界的异常。我已经使用 IErrorHandlers 将 Exceptions 转换为类型化的 FaultExceptions,这非常有用。根据 IErrorHandler.HandleError() 的 MSDN,它还旨在用于边界处的日志记录。
问题是,不能保证在操作线程上调用 HandleError 函数,所以我不知道如何获取有关哪些操作触发了异常的信息。我可以从异常本身中获取 TargetSite,但这给了我内部方法而不是操作。我还可以解析 StackTrace 字符串以找出它被抛出的位置,但这似乎有点脆弱和做作。在 HandleError 函数中是否有任何一致的、受支持的方式来获取任何状态信息(消息、操作描述等)?或任何其他自动记录服务调用异常的方法?
我正在寻找一种使用我现有的日志框架在生产中实施的解决方案,所以 SvcTraceViewer 不会为我做这件事。
谢谢。
.net - 我应该打印异常堆栈跟踪吗?
获取异常的堆栈跟踪效率有多低?我知道这很昂贵,但到底有多贵?它们绝对不应该在生产环境中使用吗?
javascript - Internet Explorer 上的“第 0 行堆栈溢出”
我意识到这不是在可搜索性方面询问这个问题的理想场所,但是当我在 Internet Explorer 中查看它时,我有一个页面的 JavaScript 代码会引发“第 0 行中的堆栈溢出”错误。
很明显,问题不在第 0 行,而是在我正在写入文档的内容列表中的某个位置。在 Firefox 中一切正常,所以我没有 Firebug 和朋友的乐趣来协助故障排除。
这有什么标准原因吗?我猜这可能是 Internet Explorer 7 的错误或相当模糊的东西,而我的Google-fu目前给我带来的乐趣很少。我可以找到很多以前遇到过这个问题的人,但我似乎无法找到他们是如何解决的。
c++ - C++ 错误处理——示例代码的良好来源?
几乎每一处示例代码都忽略了错误处理(因为它“混淆了示例代码正在解决的问题”)。我的编程知识主要来自书籍和网站,你很少看到那里使用任何错误处理,更不用说好东西了。
在哪里可以看到 C++ 错误处理代码的好例子?特定的书籍、特定的开源项目(最好有要查看的文件和功能)以及特定的网页或站点都将被感激地接受。
c# - 一般业务对象实践(和异常错误 - redux)
最近,我发表了一篇关于与我一起工作的开发人员没有正确使用 try catch 块,以及不幸地在危急情况下使用 try...catch 块并完全忽略异常错误的帖子。让我心痛。这是他们执行此操作的数千段代码之一的示例(省略了一些无关紧要的代码:
在我看来,这绝对是令人讨厌的,并且在发生某些潜在问题的情况下不会通知用户。我知道很多人说 OOP 是邪恶的,并且添加多个层会增加代码行数和程序的复杂性,从而可能导致代码维护方面的问题。就我个人而言,我的大部分编程背景在这方面都采用了几乎相同的方法。下面我列出了在这种情况下我通常编码方式的基本结构,并且我在我的职业生涯中一直在使用多种语言进行此操作,但是这个特定的代码是用 C# 编写的。但是下面的代码是我如何使用对象的一个很好的基本概念,它似乎对我有用,但由于这是一些相当智能的编程地雷的一个很好的来源,我想知道我是否应该重新评估这个我的技术 用了这么多年。主要是因为,在接下来的几周内,我将投入到外包开发人员提供的不太好的代码中,并修改大量代码。我想尽可能地做到这一点。很抱歉长代码参考。
最重要的是,我的问题是,我是否过度复杂化了多层和继承的类,或者我的旧概念是否仍然有效且稳定?现在有更好的方法来完成这些事情吗?我是否应该像同事开发人员建议的那样从页面后面的 asp.net 页面代码直接进行 SQL 调用(尽管最后一个解决方案让我感到恶心),而不是通过业务对象和数据层(数据层不是显示,但基本上保存所有存储的过程调用)。是的,另一位开发人员确实问我为什么要进行分层工作,当您可以直接在页面后面的 *.aspx.cs 代码中输入您需要的内容,然后我就可以享受超过 1k 行代码的乐趣在后面。这里有什么建议?
asp.net-mvc - ASP.Net MVC - 处理错误的 URL 参数
处理构建自己的 URL 并用他们喜欢的任何东西替换我们期望的 ID 的访问者的最佳方法是什么?
例如:
但用户可以轻松地将 URL 替换为:
https://stackoverflow.com/questions/foo
我考虑过让每个控制器函数参数 a String
,并Integer.TryParse()
在它们上使用 - 如果通过了,那么我有一个 ID 并且可以继续,否则我可以将用户重定向到一个未知/未找到或索引视图。
Stack Overflow 可以很好地处理它,我也想这样做 - 你是怎么做的,或者你有什么建议?
c# - 使用 Soap 标头处理错误
我们正在开发一种新的 Web 服务,并正在研究在肥皂响应中返回错误的“最佳实践”。
我们正在研究创建一个错误响应对象,每个响应都将包含一个属性。然而,这似乎有点重,想知道是否可以使用 SOAP 标头来携带这些信息?您通常如何使用 SOAP 处理自定义错误?
asp-classic - 我使用经典的 ASP、IIS6 和 WinServer 2003 R2 得到空白页而不是错误消息
我们有一个在 WinServer2003 R2 - IIS6 上运行的旧系统,它是使用经典 ASP 编写的。
我们需要捕获所有错误,为此,我将 IIS 配置为将 404 和 500 重定向到自定义页面(自定义错误配置),该页面将信息写入日志文件(此页面创建和管理日志)。
这是奇怪的事情:第一次发生错误时,页面被重定向并且我得到了我的日志文件条目。但是,如果再次加载此页面(我按 F5,或其他用户去那里等),浏览器会收到一个空白页面:没有错误消息并且我的自定义页面被调用过。
如果我重新启动 IIS6,我会得到相同的行为,第一次可以工作,下一次不行。
-> 向浏览器发送 ASP 错误已打开
-> 在我的资源管理器中关闭了显示友好的 http 错误
有什么想法吗?
vbscript - 检测到“错误:对象不支持此属性或方法”
我正在处理的对象在 JavaScript 中实例化,但在 VBScript 中使用。在一个代码路径中,变量M.DOM.IPt
被定义并具有一个值,而在另一个代码路径中却没有。我需要检测它是否已被定义。我检查了M.DOM
在两个代码路径中都定义和可访问的。我尝试过的每个测试都只会导致此错误:
错误:对象不支持此属性或方法
我试过了:
IsEmpty(M.DOM.IPt)
M.DOM.IPt is Nothing
isNull(M.DOM.IPt)
有什么方法可以检测未定义变量并避免错误?
注意:我可以On Error Resume Next
输入,它会简单地忽略错误,但我实际上需要检测它并有条件地做一些事情。