Задать вопрос

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

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


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

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

Похожие вопросы