try {
// some error
} catch (any e) {
e.extendedInfo = 'New extended info';
//throw(e);
//cfcatch.extendedInfo = 'New extended info';
rethrow;
}
Когда я (пере) ловлю это исключение, расширенная информация не отображается. Я хочу, чтобы возбужденное исключение сохраняло все свои свойства pre-catch, включая исходный tagContext, номера строк и т. Д., Но получает новое значение для extendedInfo.
Я попытался скопировать атрибуты e
в новый атрибут attributeCollection и выбросить его с помощью throw(e)
или <cfthrow attributeCollection="#e#" />
, но затем контекст изменился, и ошибка отображает неправильную строку исходного кода.
Пока я в этом, есть способ отбросить самый верхний объект стека, так что исключение, похоже, было выброшено из вызывающего контекста. то есть:
function myRethrow(e) (
throw(e); // <!-- error is actually throw here BUT ...
)
myRethrow(e); // <-- error should appear to have 'happened' here
Использование Railo 3.2