try {
// some error
} catch (any e) {
e.extendedInfo = 'New extended info';
//throw(e);
//cfcatch.extendedInfo = 'New extended info';
rethrow;
}
当我(重新)捕获此异常时,不显示扩展信息。我想要发生的是引发的异常保留其所有预捕获属性,包括原始 tagContext 和行号等,但为扩展信息获取新值。
我尝试将 的属性复制到一个新的 attributeCollection 并用ore
抛出它,但随后上下文被更改并且错误显示错误的源代码行。throw(e)
<cfthrow attributeCollection="#e#" />
当我在这里时,有一种方法可以删除最顶层的堆栈对象,因此似乎从调用上下文中抛出了异常。IE:
function myRethrow(e) (
throw(e); // <!-- error is actually throw here BUT ...
)
myRethrow(e); // <-- error should appear to have 'happened' here
使用 Railo 3.2