在JavaScript中,如果想要捕捉块在尝试删除不存在的对象时正常工作,需要使用try-catch块,并在捕捉块中检查错误。以下是一个示例代码:
try {
await Model.findByIdAndDelete(id);
} catch (error) {
if (error.name === 'CastError' && error.kind === 'ObjectId') {
console.log('Invalid ObjectId');
} else {
console.log('Unexpected error:', error);
}
}
在这个示例中,我们使用了async/await和Mongoose的Model.findByIdAndDelete方法来尝试删除一个对象。如果这个操作失败,我们进入捕捉块,并通过检查错误的name和kind属性来确定错误类型。如果错误是由于无效的ObjectId引起的,我们可以相应地处理它。在其他情况下,我们将简单地打印出错误并退出。
上一篇:捕捉Kestrel启动错误