我在每个if()语句之前以及createUserBackEailAndPassword函数之前调用了try捕获,捕获永远不会工作,错误确实会发生。也通过从Firebase文档中复制代码,而且它也不起作用。
我做错了什么?我想抓住'auth/email-已经在使用'的错误代码(和任何其他)。
我添加了没有try-catch的代码。
btnInitialRegister.addEventListener('click', (e) => {
load(strRegisterForm);
hideInitial();
const registerForm = document.querySelector('#registerForm');
const btnRegisterUser = registerForm.querySelector('#userRegisterBtn');
btnRegisterUser.addEventListener('click', e => {
const registerEmail = registerForm.querySelector('#registerEmail');
const registerPassword = registerForm.querySelector('#registerPassword');
const verifyPassword = registerForm.querySelector('#verifyPassword');
e.preventDefault();
if (registerPassword.value.length >= 6) {
if (registerPassword.value == verifyPassword.value) {
auth.createUserWithEmailAndPassword(registerEmail.value,registerPassword.value)
.then(userCredential => {
authUser = userCredential.user.uid;
auth.signOut()
console.log('logged out');
if (authUser) {
setTimeout(function(){registerForm.querySelector('#response').innerHTML += 'Usuario creado con exito. Estas siendo redirigido.'}, 5000);
load(strSignInForm);
}
})
} else {
registerForm.querySelector('#response').innerHTML = 'Las contraseñas no coinciden.'
}
} else {
registerForm.querySelector('#response').innerHTML += 'Las contraseñas deben tener un minimo de 6 caracteres.'
}
})
});
只是解释一下为什么要添加。catch()
对您有效。
您需要捕获使用抛出的错误。catch()
或使用try catch
块的catch
块。catch块包含一些语句,这些语句指定在try块中引发异常时要执行的操作。
如果您没有显式捕获异常,那么它将中止正在运行的进程,其余代码将不会执行。
我想通了!我结束了这个问题。在. so语句后添加了以下内容。
.catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == 'auth/email-already-in-use') {
document.querySelector('#response').innerHTML = 'El email ya esta siendo utilizado.'
} else {
document.querySelector('#response').innerHTML = errorMessage;
}
})
我有一个存储过程似乎没有正确记录错误。 代码有错误,但 catch 块似乎未生效。 try块相当长,但错误部分很简单,并且在最后出现,所以我已经对此进行了预测。 proc失败的错误是我们的老朋友“列名或提供的值的数量与表定义不匹配”。我已经修复了这个错误 - 这是一个愚蠢的懒惰错误 - 但我感到困惑为什么我的错误日志记录过程似乎没有工作 - 没有行入到我的 ExtractsErrorLog 表中。
问题内容: 我经常遇到如下情况: 仍然需要尝试-最终在内部捕获块。 克服此问题的最佳实践是什么? 问题答案: 写一个类,其中包含捕获和记录此类异常的方法,然后根据需要使用。 您最终会看到如下内容: 您的客户端代码将类似于: 更新: 自Java 7开始,各种JDBC接口都得到了扩展,而以上代码回答了原始问题,如果您直接针对JDBC API编写代码,则现在可以对其进行结构化:
在 中,尝试捕获最终阻止的工作原理是什么? 所以如果有例外,我知道它会跳到捕获块,然后跳到最后的块。 但是如果没有错误,catch块不会运行,但是finally块会运行吗?
我在试着写一个小数
问题内容: 下面的代码询问用户他/她想要多少个赛车手。 如果在代码中输入数字,则代码会跳出循环,并且程序的其余部分可以正常运行;但是,当我输入诸如“ awredsf”之类的内容时,它应该捕获该异常,并且确实如此。它没有连续提示用户,而是连续循环,这对我来说没有意义。 连续循环时,程序打印如下: 多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车手应该参加比赛?多少赛车
问题内容: 是否可以在中使用Try-Catch ? 问题答案: 不,这是不可能的。 这仅来自Sql Server 2005 检查TRY … CATCH(Transact-SQL)并检查 其他版本