我在nodejs应用程序中有以下代码。 createUserWithEmailAndPassword
用于在firebase服务中创建用户。问题是try catch
如果从方法createUserWithEmailAndPassword
抛出异常并且它崩溃我的应用程序,则不起作用。我想知道如何捕获nodejs中的所有错误。为什么try catch
在我的案例中不起作用?
try {
return firebase
.auth()
.createUserWithEmailAndPassword(email, password);
} catch (err) {
l.error(err);
return reject(err);
}
答案 0 :(得分:0)
如果您的方法是实现的承诺,那么在这种情况下您不需要使用try-catch块。看看下面的示例代码来实现欲望输出。
假设您的方法auth
或createUserWithEmailAndPassword
的承诺如下所示。为auth做同样的事情
function createUserWithEmailAndPassword(param1,param2){
return Promise(function(reject,resolve){
//your code here
})
}
然后以这样的方式调用此方法,使您能够处理异常/错误
return firebase
.then(function(result){
return auth();
})
.then(function(result){
return createUserWithEmailAndPassword(email, password);
})
.then(function(result){
//on success
resolve(result)
})
.catch(function(err){
//handle all errors here
reject(err)
})