Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';捕获并重新引发java异常的术语是什么?_Java_Exception Handling - Fatal编程技术网

什么';捕获并重新引发java异常的术语是什么?

什么';捕获并重新引发java异常的术语是什么?,java,exception-handling,Java,Exception Handling,我似乎记得一个非常具体的术语,用于描述这样的情况: try { operation(); } catch (SomeException se) { throw new OtherException(se); } -或- 我想在一些文档中使用这个正确的术语。有人能唤起我的记忆吗 EDIT:据我所知,JB niset引用的链接,链接是将原始异常传递给新异常的构造函数的行为,因此堆栈跟踪将包括原始异常。但这不是我想要的概念。很抱歉,如果我的问题最终以这种方式产生误导。回应您的编辑:在这种情

我似乎记得一个非常具体的术语,用于描述这样的情况:

try {
  operation();
} catch (SomeException se) {
  throw new OtherException(se);
}
-或-

我想在一些文档中使用这个正确的术语。有人能唤起我的记忆吗



EDIT:据我所知,JB niset引用的链接,链接是将原始异常传递给新异常的构造函数的行为,因此堆栈跟踪将包括原始异常。但这不是我想要的概念。很抱歉,如果我的问题最终以这种方式产生误导。

回应您的编辑:在这种情况下,您只是“抛出”了一个异常。它恰好被扔进了一个挡块里。我建议你不要使用诸如“转化”(我认为这意味着变异,而不是新事物)等可能令人困惑的术语,而是直接说出你在做什么


您正在用另一个异常“包装”捕获的异常。另一个术语是“异常链接”

请注意,重新引发异常是不同的,因为您并没有创建新的异常,只是捕获它以执行一些日志记录(或其他操作),然后再次抛出它。证明:

try {
  operation();
}
catch (SomeException se) {
  throw se;
}
我毫不羞耻地使用“改过”


无论如何,您所做的是将异常封装到一个新的异常中。

我相信我已经看到了被称为包装异常的方法。如果这不是您要寻找的术语,那么很抱歉。

它被称为重新抛出或异常转换,以将不同的api协调为抽象的api(通常在spring框架中完成)。

异常包装异常链接

您所做的通常被称为。我是在年被介绍的。

它也被称为

异常链接


我补充了你的答案,而不是创建一个新的答案,因为我的补充意见基本上是你所说的内容的延伸。我希望这没问题。@mikej,我相信这被称为“传播”。异常链接似乎并没有捕捉到我想要的东西;请看我的答案。那我猜“包装纸”有了。谢谢!非常感谢您提供的有用链接!这有助于我澄清发生了什么。据我所知,“链接”是指将原始异常作为新异常的原因提供。但是我要问的概念会有我想要的名字,即使我没有通过最初的例外。我想描述的更多的是将一种异常类型“转换”为另一种异常类型;请看我的答案。那我猜“包装纸”有了。谢谢!例外翻译可能就是你所追求的术语。此外,我相信异常链接可能仍然是正确的术语:感谢您的额外关注。据我所知,Oracle文章描述了在新异常中嵌入源异常信息的过程(因此您会得到一个“由…”引起的”堆栈跟踪,等等)。从其他人的反应来看,翻译或转换似乎是其余正在发生的事情的正确流行语。“例外翻译”听起来与我的想法非常接近。谢谢事实上,这正是Spring使用的术语。例如,请参阅。包装可能是正确的术语。在某些地方,我仍然认为有一个“更好”的术语,但到目前为止,大多数人都这么说。谢谢@忽必烈汗:不完全是我想要的,但是+1是一个有趣的答案:)正确回答我原来的问题,但不是我想要的(谢谢,所以还是+1吧!)请参阅我的编辑以获得澄清。
try {
  operation();
}
catch (SomeException se) {
  throw se;
}