如何使用选项或状态码掷回错误,然后加以拦截?
从语法here看来,我们似乎可以通过错误附带附加信息:
new Error(message, options)
我们能像这样扔下去吗?
throw new Error('New error message', { statusCode: 404 })
那么,我们怎么才能抓住那个statusCode
呢?
try {
//...
} catch (e) {
console.log(e.statusCode) // not working off course!
}
有什么想法吗?
选项是not supported尚未。
重新抛出错误工作方式:
try {
const found = ...
// Throw a 404 error if the page is not found.
if (found === undefined) {
throw new Error('Page not found')
}
} catch (error) {
// Re-throw the error with a status code.
error.statusCode = 404
throw error
}
但这并不是一个完美的解决方案。
5条答案
按热度按时间8ljdwjyq1#
您可以使用错误代码
wgeznvg72#
如此处所述,您必须为此创建自定义例外:
然后可以抛出自定义异常:
j5fpnvbx3#
基于响应
jslywgbw4#
我也有类似的需求,并创建了自己的Error类来提供所需的功能:
ukxgm1gy5#