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?
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?
Share Improve this question edited Jan 30, 2020 at 19:13 t.niese 40.9k9 gold badges77 silver badges107 bronze badges asked Aug 20, 2017 at 22:08 NullNull 871 gold badge1 silver badge6 bronze badges 8- Well. You wanted to throw an error. You achieved it. What else do you need? – LEQADA Commented Aug 20, 2017 at 22:12
- @LEQADA Why can't I catch it when I wrap con.connnect() to try-catch? – Null 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. – LEQADA Commented Aug 20, 2017 at 22:23
- @LEQADA Shouldn't I be able to catch an exception? – Null Commented Aug 20, 2017 at 22:26
-
Try to replace your first
if (err) throw err;
with this lineif (err) console.log("Oops... Something went wrong");
– LEQADA Commented Aug 20, 2017 at 22:32
2 Answers
Reset to default 5I 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);
});
change you're database conn like this
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example',
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);
});