gpt4 book ai didi

java - 捕获并抛出异常 : What happens "under the hood"?

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:47 24 4
gpt4 key购买 nike

我不熟悉错误/异常处理。当异常被捕获抛出 时,“幕后”发生了什么?

即在 try-catch block 中捕获异常然后抛出它有什么意义?

例如:

  try {
//Stuff
} catch(StuffException e) {
throw new MyException();
}
}

最佳答案

关于异常机制的内部工作原理:有大量关于此的文档。我特别喜欢这篇文章: http://www.javaworld.com/article/2076868/learn-java/how-the-java-virtual-machine-handles-exceptions.html

超简短摘要:抛出异常时,jvm 在表中查找(异常的 init() 方法)继续执行的表。

对于你问题的第二部分:

what is the point of catching an exception in a try-catch block, then throwing it?

我看到一些捕获异常并抛出另一个异常的原因:

  • 您可能想要捕获未经检查的异常(因为您知道,“可能会发生不好的事情”)并抛出一个已检查的 - 所以调用者必须处理它。

  • 你想使用一个自定义异常,也许还有额外的信息/逻辑

  • 您正在实现错误外观,例如抛出异常和在立面的尽头捕获它们。

关于java - 捕获并抛出异常 : What happens "under the hood"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com