在节点应用程序中抛出sqlite insert错误而不停止节点服务器

时间:2014-09-14 08:54:28

标签: node.js sqlite

我有一个sqlite表,其中一列有唯一约束。当我运行尝试写入重复的语句时,控制台中会出现错误,但应用程序将终止。我可以在不终止服务器的情况下抛出错误吗?这是我一直在使用的代码:

db.run("INSERT INTO companies (company, location) VALUES (?,?)", [ input.name, input.location ], function(err){ 
        if(err) throw err;
    });

使用控制台记录:

node/db.js:6
        if(err) throw err;
                      ^
Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: companies.company

1 个答案:

答案 0 :(得分:0)

如果您可能使用domains之类的内容,则可以。但是,通常所做的就是将错误传递给回传(例如if (err) return callback(err);),该回调会传递到包含db.run()的函数。