问题标签 [try-catch]
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.
c++ - 捕获 std::bad_alloc 的策略
所以我在开发中经常使用 Qt 并且喜欢它。Qt 对象的通常设计模式是使用new
.
几乎所有示例(尤其是 Qt 设计器生成的代码)都绝对不检查std::bad_alloc
异常。由于分配的对象(通常是小部件等)很小,这几乎不是问题。毕竟,如果您未能分配 20 个字节之类的东西,那么您可能无法解决这个问题。
目前,我采用了在 try/catch 中包装“大”(大小超过一页或两页的任何内容)分配的策略。如果失败,我会向用户显示一条消息,几乎任何更小的消息,我都会让应用程序崩溃并出现std::bad_alloc
异常。
所以,我想知道这方面的思想流派是什么?
检查每项new
操作是否是好政策?还是只有我认为有可能失败的人?
此外,在处理资源可能受到更多限制的嵌入式环境时,这显然是一个完全不同的故事。我在桌面应用程序的上下文中询问,但也会对涉及其他场景的答案感兴趣。
c# - 当不抛出异常时,try/catch 块会损害性能吗?
在与 Microsoft 员工进行代码审查时,我们在一个try{}
块中发现了一大段代码。她和一位 IT 代表建议这可能会影响代码的性能。事实上,他们建议大部分代码应该在 try/catch 块之外,并且只检查重要的部分。微软员工补充说,即将发布的白皮书警告不要使用不正确的 try/catch 块。
我环顾四周,发现它会影响优化,但它似乎只适用于在作用域之间共享变量时。
我不是在问代码的可维护性,甚至不是在处理正确的异常(毫无疑问,有问题的代码需要重构)。我也不是指使用异常进行流控制,这在大多数情况下显然是错误的。这些都是重要的问题(有些更重要),但不是这里的重点。
当不抛出异常时,try/catch 块如何影响性能?
c# - 在 .NET 中使用 try-catch 进行流控制是否“不好”?
我刚刚在一个项目中发现:
我想与开发人员交谈,而不是写这篇文章,说引发 null 异常(因为school
理论上可能是 null ,而不是myLabel
)实际上会使计算机发出三声哔哔声并休眠两秒钟。但是,我想知道我是否记错了规则。显然,这不是 try/catch 的预期用途,但这是因为它违背了意图,还是因为性能考虑而变得糟糕?我觉得这很糟糕,但我想说的不仅仅是“那真的很糟糕”。
c++ - 在 C++ 中捕获类型错误
我如何检查结果是否是正确的类型(int、float、double 等),然后抛出并捕获异常以防万一?
谢谢大家,
弗拉德。
c# - C# 实时尝试 Catch
我希望得到真正使用 C# 进行实时编程或真正了解语言内部结构的人的回应。
我知道异常不应该用于处理正常处理,而只能用于检测错误情况。关于这个话题有很多讨论。
我想知道是否有任何运行时间减慢只是因为有一个 try/catch 块(除非程序无论如何都必须结束,否则它永远不会捕获异常)。try/catch 块位于必须重复调用的函数内。我怀疑只有最低的成本。
是否可以根据 CPU 周期或其他任务(与浮点乘法相同的成本)或其他方式来量化成本?
我们在 windows XP 下使用 Microsoft C#.Net 3.5。
php - getimagesize 找不到文件时处理错误
当我尝试getimagesize($img)
并且图像不存在时,出现错误。我不想先检查文件是否存在,只处理错误。
我不确定如何try catch
工作,但我想做类似的事情:
nant - TeamCity 4.5 无法识别 nant 脚本中的 trycatch 元素
我们的团队最近升级到 TeamCity 4.5.4,但在 TeamCity 运行我们的 nant 构建脚本时遇到了问题。
我们现在收到一条错误消息:Invalid element <trycatch>. Unknown task or datatype.
我们在升级期间或之后没有更改我们的构建脚本,所以我想知道我们需要进行哪些更改(如果有的话)以使其再次正常工作。
导致问题的脚本部分如下:
有没有其他人遇到过这个问题?
java - 未捕获 Java 异常
为什么Java中的一些异常没有被捕获catch (Exception ex)
?这是代码完全失败并出现未处理的异常。(Java 版本 1.4)。
我得到一个Exception in thread "main" java.lang.NoSuchMethodError
但这有效
我明白了Caught NoSuchMethodError java.lang.NoSuchMethodError:
我以为捕获异常会捕获所有异常?如何捕获java中的所有异常?
sql-server - 记录 SQL 错误
SQL Server 2008 有一个新的 try/catch 结构。如果我在一系列嵌套存储过程中遇到错误,我喜欢将调用堆栈记录在错误表中。问题是,如果我启动了一个事务(对于更新数据库的操作来说是这样),当 try/catch 语句的 catch 部分中的代码回滚事务时,写入错误表的记录将被删除.
欢迎任何关于我如何解决这个问题的提示。