使用 better-sqlite3 如何在行不存在时处理错误?

How do I handle errors when a row does not exist, using better-sqlite3?

我如何处理每当您尝试使用 .prepare(#).get() 而查询不存在时发生的错误?

let businessType = DB.prepare(`SELECT businessType from 'Profiles' WHERE userId = '${author.id}'`).get().businessType;

基本上,只要“businessType”不存在,我该如何停止崩溃,而不是脚本崩溃,我可以发送一条消息,如“用户不存在”或其他内容。

提前致谢!

如果该行不存在,

get() 将 return undefined

在尝试提取数据之前,您需要检查您的回复。

const row = DB.prepare(`SELECT businessType from 'Profiles' WHERE userId = ?`).get(author.id);
if(row) {
  // profile recorded exist
  ...
} else {
  // profile doesn't exist.
  ...
}