createUserWithEmailAndPassword (...)
возвращает будущее.Таким образом, код внутри вашей функции catch будет вызываться асинхронно.
В результате может быть вызван следующий код
if (errorCode == null) {
window.location = '/index.html';
}
, прежде чем вы даже получите ответ из своего утверждения,так как его нет в блоке ошибок.В настоящее время errorCode по-прежнему равен нулю.
Чтобы решить эту проблему, вы можете получить обратный вызов then вашего вызова функции:
firebase.auth().createUserWithEmailAndPassword(UserEmail,UserPassword).then((userData) {
//Redirect the user here
}).catch((error) {
//Your Error-Handling
});