Node.js MySQL 模块 - 抛出错误; // 重新抛出非 MySQL 错误;

Node.js MySQL module - throw err; // Rethrow non-MySQL errors;

今天我尝试了 node.js mysql 来自 w3schools 的片段:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "roots", // WRONG USER
  password: ""
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  /*Create a database named "mydb":*/
  con.query("CREATE DATABASE mydb", function (err, result) {
    if (err) throw err;
    console.log("Database created");
  });
});

我想了解如何处理 mysql 错误,因为我的应用需要 mysql。但是在我开始 app.js 文件后出现了这个错误:

为什么我不能抛出错误?

I wanted to learn how to handle mysql errors, because my app require mysql.

MySQLJS Error handling

要捕获您 throw 的错误,请尝试使用以下代码段:

con.on('error', function(err) {
  console.log("[mysql error]",err);
});

像这样改变你的数据库连接

  var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret',
  database : 'secret'

});

connection.connect(function(err) {
  if (err) {
    console.error('error connecting: ' + err.stack);
    return;
  }

  console.log('connected as id ' + connection.threadId);
});