Chrome error rethrow — теперь указывает на место выбрасывания, а не место оригинальной ошибки. Как исправить?

В библиотеке для выполнения пользовательского кода используется следующая обертка:
try {
    exec(callback)
} catch (e) {
    setTimeout(function(){throw e})
}


По ряду причин сам код изолировать в setTimeout нельзя (необходим явный порядок выполнения). Error throw тоже необходим для отладки пользовательского кода.
Раньше этот способ дублировал оригинальную ошибку и показывал ее место. Сейчас он указывает на setTimeout(function(){throw e}), что не особо помогает отладки. Трассировки тоже, естественно, нет. Можно ли как-то пофиксить?
  • Вопрос задан
  • 2537 просмотров
Пригласить эксперта
Ответы на вопрос 1
@VitaliiDel
А setTimeout для чего здесь?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы