В библиотеке для выполнения пользовательского кода используется следующая обертка:
try {
exec(callback)
} catch (e) {
setTimeout(function(){throw e})
}
По ряду причин сам код изолировать в setTimeout нельзя (необходим явный порядок выполнения). Error throw тоже необходим для отладки пользовательского кода.
Раньше этот способ дублировал оригинальную ошибку и показывал ее место. Сейчас он указывает на setTimeout(function(){throw e}), что не особо помогает отладки. Трассировки тоже, естественно, нет. Можно ли как-то пофиксить?