【发布时间】:2013-05-22 23:37:53
【问题描述】:
link 声明,
要捕获异常,我们必须将一部分代码置于异常之下 检查。这是通过在 try 中包含该部分代码来完成的 堵塞。当该区块内出现异常情况时, 抛出异常,将控制权转移到异常 处理程序。如果没有抛出异常,则代码正常继续,并且 所有处理程序都被忽略。
这是否意味着由于运行时“检查”的额外任务,使用 try 块会降低性能?
【问题讨论】:
-
通常是的,但除非它是一个时间紧迫的、被称为百万次、必须非常快的代码部分,否则我不会根据我的决定来决定是否对此使用例外。
-
(请注意,答案将取决于您使用的编译器,而不是 Java/C#/Python,其中异常处理只能以一种方式完成。)(但是,一个好的 try/catch 异常在没有抛出异常的情况下,开销几乎为 0 或 0。)
-
这可能会回答你的问题:stackoverflow.com/questions/1897940/…
-
相比什么?以其他方式处理异常情况(如果是,如何处理?)或者干脆不处理异常情况并希望它永远不会发生。
-
更好的欺骗,IMO:stackoverflow.com/questions/13835817/…
标签: c++ performance exception exception-handling try-catch