我有一个函数,可能会返回一些对象或可能会返回自定义错误对象。我无法检测到错误对象类型。
我已经尝试了builder.match(/ Error / i)或试图在原型的Object.keys上工作,但没有任何效果。以下是代码?
function x() {
try {
...
} catch {e} {
let err = new Error('caught error')
return err
}
return someObject
}
//the following gives: TypeError: err.constructor.match is not a function
if (x().constructor.match(/Error/i)) {
//log error
}
//do something
任何想法如何检测输出错误类型?
您可以检查返回的对象是否为instanceof
错误,如下所示
let y = x();
if(y instanceof Error) {
// returned object is error
} else {
//returned object is not error
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句