passport-local-sequelize icon indicating copy to clipboard operation
passport-local-sequelize copied to clipboard

Specify error type when throwing an error

Open rafis opened this issue 9 years ago • 0 comments

Sometimes you need to know which error were thrown, for example,

router.post('/register', function(req, res, next) {
    User.register(User.build({username: username}), req.body.password, function(err) {
        if (err) {
            // Handle specific errors customly
            if ('MissingUsernameError' == err.name || 'UserExistsError' == err.name) {
                res.status(400);
                res.render('auth/register', { errorMsg: err.message});
                return;
            }
            // System error (fatal error)
            return next(err);
        }
        ...
   });
});

It would be nice to specify that error type. Also maybe it would be better to specify each error in separate js file in errors subfolder like https://github.com/jaredhanson/passport/blob/master/lib/errors/authenticationerror.js .

rafis avatar Dec 11 '15 12:12 rafis