Задать вопрос
Deathdrumer
@Deathdrumer
Web-разработчик

Как корректно обработать ошибки сервера средствами JavaScript (Возможно ли это)?

Можно ли обработать ошибки сервера, наприер 500 или 422 или 419, чтобы в консоли браузера они не выводили красным?

Например, в случае с Laravel, при ошибке валидации сервер возвращает ответ с ошибкой 422:
6280bafea7683625675977.jpeg
Можно ли сделать так, не было таких вот красных ошибок в консоли, при этом, не меняя код ошибки сервера?

Этот же вопрос справедлив для 500 ошибки, 419 и т.д.
  • Вопрос задан
  • 319 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
try {
  await fetch(...);
} catch (error) {
  // Обрабатываем ошибку как хотим
}


fetch(...)
  .catch((error) => /* Обрабатываем ошибку как хотим */);


const xhr = new XMLHttpRequest();
xhr.open(...);
xhr.send();

xhr.onload = function() {
  if (xhr.status != 200) {
    // Обрабатываем ошибку как хотим

    return;
  }

  ...
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Сообщения об ошибках должны быть видны разработчику в dev консоли, потому что ошибки должны быть обработаны не только с точки зрения кода но и владельца сервиса в целом!

Их нельзя игнорировать, каждая ошибка имеет причину, она должна быть выявлена, логирована и доведена до сведения разработчиков, даже если их причина - проблемы с интернетом (в текущих реалиях глобальный интернет в мире - сломан, он имеет частичную доступность, как благодаря блокировкам и цензуре так и тем что провайдеры вносят в не шифрованный контент изменения ради рекламы и других своих темных делишек).

Каждая проигнорированная ошибка или даже варнинг - это потенциальный технический долг. Даже если ты сейчас знаешь и понимаешь что конкретная ошибка не проблема, через год/два ты или твой заместитель, пришедший на смену тебе, этого знать не будет... а так как ошибки имеют тенденцию накапливаться, решать их в будущем будет все сложнее и сложнее
Ответ написан
Ваш ответ на вопрос

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

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