function isError(err: any): err is Error {
return err instanceof Error;
}
try {
somethingRisky()
} catch(err: unkNown) {
if (isError(err)) {
console.log(err.stack)
} else {
console.log(err)
}
}
You can also have the following in test case, but do NOT put into production:
function assertIsError(err: any): asserts err is Error {
if(!(err instanceof Error)) throw new Error(`Not an error: ${err}`);
}
try {
somethingRisky();
} catch(err: unkNown) {
// in a test case, you expect `err` must be an Error type
// if not, throw Error
assertIsError(err);
console.log(err.stack)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。