6

today I tried node.js mysql snippet from 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");
  });
});

I wanted to learn how to handle mysql errors, because my app require mysql. But after I started app.js file this error showed up:

Why can't I throw an error?

8
  • Well. You wanted to throw an error. You achieved it. What else do you need? Commented Aug 20, 2017 at 22:12
  • @LEQADA Why can't I catch it when I wrap con.connnect() to try-catch? Commented Aug 20, 2017 at 22:22
  • 1
    What you said to your application is to throw an error when there is any. And that is what your app is doing. Commented Aug 20, 2017 at 22:23
  • @LEQADA Shouldn't I be able to catch an exception? Commented Aug 20, 2017 at 22:26
  • Try to replace your first if (err) throw err; with this line if (err) console.log("Oops... Something went wrong"); Commented Aug 20, 2017 at 22:32

2 Answers 2

5

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

MySQLJS Error handling

To catch the errors you throw, try with the following snippet :

con.on('error', function(err) {
  console.log("[mysql error]",err);
});
Sign up to request clarification or add additional context in comments.

Comments

1

change you're database conn like this

  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);
});

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.