How to catch a Firebase Auth specific exceptions

前端 未结 16 2237
慢半拍i
慢半拍i 2020-11-28 04:37

Using Firebase, how do I catch a specific exception and tell the user gracefully about it? E.g :

FirebaseAuthInvalidCredentialsException: The email ad

16条回答
  •  有刺的猬
    2020-11-28 05:27

    Try the following:

    if (task.isSuccessful()) {
        //Toast.makeText(getContext(),"Registration successful", Toast.LENGTH_SHORT).show();
        try {
            Toast.makeText(getContext(),"Registration successful", Toast.LENGTH_SHORT).show();
            throw task.getException();
        }
        // if user enters wrong email.
        catch (FirebaseAuthWeakPasswordException weakPassword) {
            Log.d("Registration Error", "onComplete: weak_password");
    
            // TODO: take your actions!
        }
        // if user enters wrong password.
        catch (FirebaseAuthInvalidCredentialsException malformedEmail) {
            Log.d("Registration Error", "onComplete: malformed_email");
    
            // TODO: Take your action
        }
        catch (FirebaseAuthUserCollisionException existEmail) {
            Log.d("Registration Error", "onComplete: exist_email");
    
            // TODO: Take your action
        }
        catch (Exception e) {
            Log.d("Registration Error", "onComplete: " + e.getMessage());
        }
    } else {
        //Toast.makeText(getContext(), "ERROR, Please try again.", Toast.LENGTH_SHORT).show();
        Toast.makeText(getContext(), task.getException().getMessage(), Toast.LENGTH_SHORT).show();
    }
    

提交回复
热议问题