-如何捕获Auth异常错误-Unity -如何捕获用户/电子邮件是否存在-Unity -哪里可以找到Auth例外错误代码列表-Unity
*我在Android上找到了很多答案,所以我决定最终为Unity编写解决方案。
答案 0 :(得分:1)
答案很简单-在您要实现的任务上使用以下功能-
protected bool LogTaskCompletion(Task task, string operation)
{
bool complete = false;
if (task.IsCanceled)
{
Debug.Log(operation + " canceled.");
}
else if (task.IsFaulted)
{
Debug.Log(operation + " encounted an error.");
foreach (Exception exception in task.Exception.Flatten().InnerExceptions)
{
string authErrorCode = "";
Firebase.FirebaseException firebaseEx = exception as Firebase.FirebaseException;
if (firebaseEx != null)
{
authErrorCode = String.Format("AuthError.{0}: ",
((Firebase.Auth.AuthError)firebaseEx.ErrorCode).ToString());
}
Debug.Log("number- "+ authErrorCode +"the exception is- "+ exception.ToString());
string code = ((Firebase.Auth.AuthError)firebaseEx.ErrorCode).ToString();
Debug.Log(code);
}
}
else if (task.IsCompleted)
{
Debug.Log(operation + " completed");
complete = true;
}
return complete;
}
打印的输出Debug.Log(code)
是您要查找的异常代码。现在您可以比较它-if (code.Equals("some specific exception...."))
并用您的代码完成它。
示例:
如何捕获用户/电子邮件是否存在
假设我们使用CreateUserWithEmailAndPasswordAsync
注册了一个新用户,并且想捕获错误“电子邮件地址已被使用”
我们可以使用我的函数找出我们需要比较的错误代码,它将打印以输出“ EmailAlreadyInUse”。接下来,我要做的就是检查if ((code).Equals("EmailAlreadyInUse"))
-另一种可能的方法是在列表中找到错误代码-
身份验证例外错误代码FOR UNITY的列表
所有异常都在类Firebase.Auth.AuthError
下,您可以在代码编辑器中或在Unity-Firebase.Auth-概述(在AuthError下)的Firebase网站上查看它们。
希望有帮助!