代码之家  ›  专栏  ›  技术社区  ›  Patricia

将语言更改为Firebase异常

  •  0
  • Patricia  · 技术社区  · 9 年前

    我正在调用Firebase方法,如果出现异常,我想用西班牙语返回异常消息,但是

    if (task.isSuccessful()) {
        // do something
    } else {
        Toast.makeText(context, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
    }
    

    提前感谢

    2 回复  |  直到 9 年前
        1
  •  0
  •   Alex Mamo    9 年前

    你可以扔 Exception task.getException 在try-catch区块内。所有抛出的例外都在 english 。下面是您使用的方法可能引发的每种类型的异常。

    OnCompleteListener 对于 createUserWithEmailAndPassword() 方法请参见以下代码:

    if(!task.isSuccessful()) {
        try {
            throw task.getException();
        } catch(FirebaseAuthWeakPasswordException e) {
            //do somethig
        } catch(FirebaseAuthInvalidCredentialsException e) {
            //do somethig
        } catch(FirebaseAuthUserCollisionException e) {
            //do somethig
        } catch(Exception e) {
            Log.e("TAG", e.getMessage());
        }
    }
    

        2
  •  0
  •   MGLabs    4 年前

    getLocalizedMessage() task.getException().getClass().getSimpleName() )但仍然是英语(因此与 getMessage() 为了利用其“本地化”功能,首先需要根据需要重写该方法。 here ,尽管出于这里提到的简单目的,我肯定会坚持Alex的解决方案。

    推荐文章