Не перехватываются ошибки window.onerror в Vue

В index.html добавил перехватчик ошибок window.onerror который должен отправлять запрос на бэк с ошибкой для логирования. Если в консоли прописать ошибку н-р setTimeout(function() { notThere(); }, 0); он ее успешно перехватит.

введите сюда описание изображения

Однако ошибки н-р TypeError когда вызываем toString на null, window.onerror не срабатывает

введите сюда описание изображения

так же выявил зависимость когда перехватывает введите сюда описание изображения

не перехватывает

введите сюда описание изображения


Ответы (2 шт):

Автор решения: ksa

ошибки н-р TypeError когда вызываем toString на null, window.onerror не срабатывает

Давай проверим... Все вроде срабатывает.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script>
window.addEventListener('error', e => {
    console.log('Ошибка - ', e.message)
})
</script>
</head>
<body>

<script>
const v = null
console.log(v.toString())

</script> 
</body>
</html>

→ Ссылка
Автор решения: pyduti

Без кода сложно ориентироваться что конкретно у вас не так. Наверно вам нужно обработать данную ошибку со стороны экземпляров Vue

import Vue from 'vue';

Vue.config.errorHandler = (err, vm, info) => {
  //Vue.config.errorHandler фиксирует ошибки, характерные для экземпляров Vue
};

Для перехвата сторонних ошибок, которые возникают вне экземпляра Vue:

window.onerror = function(message, source, lineno, colno, error) {
  //some code
};

Ну и в версии 2.5.0 и выше есть хуки errorBoundaries и errorCaptured

→ Ссылка