node-sqlite3中的错误处理

时间:2015-10-06 21:56:31

标签: node.js sqlite

如何处理sqlite3中的错误?例如,我有这个简单的代码:

var stmt = db.prepare("update Tickets set " + columns + " where id = (?)");
stmt.run(req.body.id);
stmt.finalize();

db.close();

所有四个函数preparerunfinalizeclose都有可能抛出错误。这是在我的express.js服务器上,所以我试图在某个地方放置一个res.error()语句来返回结果。我不想把它放在所有这些中,因为我可能遇到多个res.setHeader错误。

是否有关于sqlite3的错误处理实践的文档?我无法在其API文档中找到它。

2 个答案:

答案 0 :(得分:4)

看看api。这些函数中的每一个都采用回调,其第一个参数是错误。

这将帮助您处理错误,但它不会阻止您的应用崩溃。为了阻止崩溃,您必须使用try/catch,或者最好学习如何使用domains

答案 1 :(得分:0)

“错误”事件发出错误。 初始化db句柄后,您可能想尝试执行类似下面的操作。

db.on("error", function(error) {
    console.log("Getting an error : ", error);
});