java - 深堆栈的异常抛出性能

标签 java c# eiffel

一般谈论垃圾收集语言:

当抛出异常时,调用堆栈越深,性能在 cpu 周期方面是否会降低?

因此,如果在捕获它的同一个函数中抛出异常,它基本上是一个 goto 吗?

最佳答案

if an exception is thrown in the same function that catches it, would it basically be a goto?

不,许多其他事情,包括构建 StackTraceElement[],都是在创建异常时完成的。从理论上讲,您可以抛出一个先前存在的异常来避免这种构造,但显然这首先会破坏抛出异常的大部分目的。

关于java - 深堆栈的异常抛出性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30645171/

相关文章:

java - 查找 2 个 git 提交之间可用的分支

c# - 无法加载文件或程序集 log4net Version=1.2.10.0

c# - 为什么在 C# 中初始化对象之前分配 null

.net - 在调用例程之后和之前在哪里评估不变量?

compiler-errors - Eiffel :or and and and 中的本地声明编译失败

java - Envers 可选谓词

java - 为什么这段代码会抛出异常?

c# - 使用 caliburn micro 在弹出控件中绑定(bind) UserControl

immutability - Eiffel 中的不可变类

java - 为什么我不能使用 long 原语作为 switch() 部分的表达式?