我有一个代码块,周围有一个try catch。在try块中,我使用了一个名为JSONata的JSON查询库。在某些情况下,当一个不需要的字符串被错误地传递给库时,库会抛出一个错误。我的问题是我的catch块没有被命中,应用程序只是崩溃了?
下面是一些伪代码来解释发生了什么。问题是,当用户错误地将]放在id的末尾时,evaluate函数会抛出错误。我的假设是,当抛出错误时,我的catch块将拾取它并将错误消息发送到浏览器。我的app只是崩溃了。
try{
let data = <some JSON data here>;
let expression = jsonata("rows[userID=abc123]'])"
expression.evaluate(data).then(result => {
res.send(result)
}
}catch(err)
{
res.send(err)
}
1条答案
按热度按时间dl5txlt91#
正如Dave提到的,您可以使用
.catch
另外,如果你使用
async/await
,你可以这样做: