Вы какую ошибку пытаетесь отловить?
При 404 ошибке fetch все равно завершится доожным образом просто вернет код отличный от 200 и не OK
https://developer.mozilla.org/en-US/docs/Web/API/F...
https://developer.mozilla.org/en-US/docs/Web/API/F...
const url = `https://ipinfo.io/json`;
        fetch(url).then(response => {
          console.log(response.status, response.ok)
          if (response.ok) {
            response.json().then(data => {
            console.log(data)
            })
          }
        })
const url = `https://ipinfo.io/jsonson`;
        fetch(url).then(response => {
          console.log(response.status, response.ok)
          if (response.ok) {
            response.json().then(data => {
            console.log(data)
            })
          }
        })
Если бы fetch кидал ошибку, вы бы ее отловили
function some() {
  return Promise.reject("Hello")
}
async function f() {
  try {
    return await some();
  } catch (error) {
    console.log("Error", error)
  }
}
f().then(data => {
  console.log("Data", data)
});