在 try catch 中从失败的 fetch 中获取 net::ERR,它不在捕获的错误中

问题描述 投票:0回答:2

我预计会出现错误,并且不需要帮助来防止它。我想更好地处理它。

我正在用 try catch 包装从

isomorphic-fetch
获取的数据,

let response;
try {
  response = await fetch(getFoosFromFooville(), { method: 'GET'})
} catch (error) {
  // TODO handle error; for not just print it
  console.log(error)
}

在开发控制台中我看到如下错误:

GET https://example.com/foos/fooville net::ERR_SOMETHING_RELEVANT_TO_FOOS

那不是我的 catch 块。 catch 块中的 console.log 语句仅打印:

TypeError: Failed to fetch
  at Object.fooFetch (fooFetching.js?beef:42)
  at ...

如果我能得到

net::ERR_SOMETHING_RELEVANT
并处理它,那就更有用了。

这是我能做的事情,还是它填充的库或本机 javascript?

javascript asynchronous try-catch isomorphic-fetch-api
2个回答
0
投票

来自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError#writing_a_typeerror

try {
  null.f();
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "null has no properties"
  console.log(e.name); // "TypeError"
  console.log(e.stack); // Stack of the error
}

-2
投票

试试这个:

fetch(getFoosFromFooville(), { method: 'GET'})
  .then((response)=>
    console.log(response)
  })
  .catch((error)=>{
    console.log(error)
  })

您可以在这里阅读更多相关信息: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

© www.soinside.com 2019 - 2024. All rights reserved.