Правильно ли я использую try-catch?

Mеня смущает, как я использую try-catch в моем коде, но все работает как нужно. Хотелось бы услышать от вас критику или примеры. Спасибо!

async function getRequest(url) {
    try {
      let response = await fetch(url);
      if (!response.ok) {
        throw new Error(errorFunc(response.status));
      }
      return await response.json();
    } catch (err) {
      console.log(err);
    }
  }

  async function getJson(url) {
    try {
      let json = await getRequest(url);
      okFunc(json);
    }
    catch (err) {
      console.log(err);
    }
  }


  let input = document.getElementById('choiseCityName');

  const okFunc = (json) => {
    try {
      if (json) {
        input.placeholder = 'Please enter a your city name.';
        input.classList.remove('placeholderred');
        input.classList.add('placeholderOk');
        input.focus();
        return weather.showWeatherData(json);
      }
    } catch (err) {
      console.log(err);
    }
  }

  const errorFunc = (err) => {
    if (err == '404')  {
     input.value = '';
     input.classList.add('placeholderred');
     input.placeholder = "Sorry we can not find your city";
     return err;
   }
   throw new Error(err);
  }
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
@StockholmSyndrome
у fetch есть своя обработка ошибок
async function getRequest(url) {
  let response = await fetch(url);
  return await response.json().catch((err) => new Error(errorFunc(response.status)));
}

async function getJson(url) {
  let json = await getRequest(url).catch((err) => console.log(err));
  okFunc(json);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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