想象一下你有这个:
fetch('www.nonexistingwebpage.com', mySettings)
.then(doTheThing);
.catch(function(error){
console.log(error);
// returns "SyntaxError: Unexpected token < in JSON at position 0"
// Or "TypeError: Failed to fetch"
});
这一切都很好,但技术上不是我可以使用的东西。我宁愿从错误对象中获取更多信息,而不仅仅是错误字符串,所以我可以正确处理它。
经过一番搜索,我发现error
对象的一个属性是message
,所以我可以做error.message
。但是,error.type
和error.status
未定义。我正在寻找更多用于处理的信息,我似乎无法找到它。
似乎有关于错误对象的选项的绝对0文档,我似乎无法找到任何关于它的东西,所以我想知道是否有其他人确切知道我可以调用哪些属性?
当您捕获错误时,通常它是一个Error对象(在大多数语言中通常称为Exception)。
处理特定异常的最佳方法不是通过其属性,而是通过其类型。例如,您遇到语法错误,可以使用以下命令检查:
if (err instanceof SyntaxError) {
// Do something specifically for syntax errors
}