Сделайте ошибки SQLite конкретными, а не только SQLITE_ERROR в express / node.js - PullRequest
0 голосов
/ 24 апреля 2019

Так что в основном у меня есть похожий блок, написанный на Express:

var sqlite3 = require('sqlite3');

const data = {};
const db = new sqlite3.Database("sqlite/test.db");
db.run("INSERT INTO [Employees]([Name]) VALUES(?)", [name], function (err) {
  if (err) {                     //this is the error block
    data.error = err.code;
    data.status = 0;
  }
  else {                         //this is the success block
    data.data = { Name: name, Id: this.lastID };
    data.status = 1;
  }

  db.close();
  res.send(data);
});

Это делает то, на что это похоже, просто простое выражение вставки и его обратный вызов.Операции обновления, выбора и удаления буквально одинаковы.

Но всякий раз, когда я получаю ошибки (синтаксическая ошибка, пропущенные поля, пропущенные таблицы, yada yada), я всегда просто получаю {errNo: 0, code: "SQLITE_ERROR"} в своем errаргумент, который раздражающе неспецифичен и бесполезен.

Есть ли способ исправить ошибку и сделать ее не вызывающей безумия?

1 Ответ

1 голос
/ 24 апреля 2019

Это - самая близкая вещь, которую я нашел к документации об объекте ошибки. Вы, вероятно, хотите посмотреть на err.message.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...