0

Node.js でコードを作成して、seneca マイクロ サービスを使用して mariadb db に接続しましたが、エラー/例外を処理してユーザーに適切なメッセージを表示する方法を知ることができません。どのような種類のエラーが発生し、どのように対処すればよいか教えてください。

これは私のコードです

seneca.add({
  role: 'user',
  cmd: 'Authentication_Registration'
}, function(msg, respond) {
  //Check wheather user is exist or not
  /*try{*/

  con.query('Select * from RegistrationDemo where UserName= (:user) ', {
    user: msg.Username
  }, function(err, results) {
    if (err)
      throw err
    else {
      if (results.length != 0) {
        respond(false, {
          answer: "User Allready Exists"
        });
      } else {
        //If user is not exist enter the registration details into the table
        con.query('insert into RegistrationDemo(Name,UserName,DOB,Email,Password) values ((:name),(:user),(:dob),(:email),(:password)) ', {
          name: msg.Name,
          user: msg.Username,
          dob: msg.dob,
          email: msg.email,
          password: msg.password
        }, function(err) {
          if (err)
            respond(false, {
              answer: "Data not able to insert"
            });
          else {
            //insert 
            con.query('insert into Hash.user(UserName,PassWord) values((:user),(:pass))', {
              user: msg.Username,
              pass: msg.password
            }, function(err) {
              if (err) {
                respond(false, {
                  answer: "Data can't registered"
                });
                con.query('rollback');
              } else {
                respond(true, {
                  answer: "you are registered sucessfully"
                });
              }
            })
          }
        });
      }
    }
  })

  /*} /*catch(Error)
    {
        console.error("catch erro" + Error);
    }*/
});

seneca.act({
  role: 'user',
  cmd: 'Authentication_Registration',
  Name: 'asn',
  Username: 'asn@123',
  email: 'xxx@gmail.com',
  password: 'xxx',
  dob: '1993-09-23'
}, function(err, result) {
  if (err) return console.error(err)
  console.log(result.answer);
});
4

0 に答える 0