Estoy creando una aplicación que autenticará la entrada del usuario. el problema es que cuando la entrada del usuario es incorrecta, el error no se detecta y mi aplicación falla.
si pongo
throw new Error("dasdas");Ese error se detecta, pero los errores de IMAP no.
try { var imap = new Imap({ user: email, password: password, host: "mail.metropolitan.ac.rs", port: 993, tls: true, }); imap.connect(); res.status(201).json({ success: true, person: email }); } catch (err) { console.log(err); return res.status(400).json({ success: false, msg: "data is wrong" }); }Como se muestra en la documentación, debe registrar el detector de errores antes de conectarse al servidor de esta manera, ya que el error se emite como un evento y no se genera como lo sería un error normal.
imap.once('error', function(err) { console.log(err); });(Esto debe hacerse antes de conectar()) puede leer sobre este comportamiento en esta página