Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Kotlin识别AWS Amplify中的身份验证错误类型?_Java_Amazon Web Services_Kotlin_Aws Amplify - Fatal编程技术网

Java 如何使用Kotlin识别AWS Amplify中的身份验证错误类型?

Java 如何使用Kotlin识别AWS Amplify中的身份验证错误类型?,java,amazon-web-services,kotlin,aws-amplify,Java,Amazon Web Services,Kotlin,Aws Amplify,我想在用户使用Kotlin通过AWS Amplify登录时向用户显示不同的错误。这是我设置为Amplify.Auth.signIn()的最后一个参数: “error”是一个“Throwable”,我想将其转换为各种AWS异常,并检查转换是否成功。然而,所有AWS Amplify异常都基于Java版本的“Throwable”。有没有办法使这些强制转换工作,或者有没有另一种方法来识别Kotlin中的错误类型?方法中的最后一个参数的类型为输入 有 如中所示,我建议使用when构造耗尽这些类型。释义:

我想在用户使用Kotlin通过AWS Amplify登录时向用户显示不同的错误。这是我设置为Amplify.Auth.signIn()的最后一个参数:

“error”是一个“Throwable”,我想将其转换为各种AWS异常,并检查转换是否成功。然而,所有AWS Amplify异常都基于Java版本的“Throwable”。有没有办法使这些强制转换工作,或者有没有另一种方法来识别Kotlin中的错误类型?

方法中的最后一个参数的类型为输入

如中所示,我建议使用
when
构造耗尽这些类型。释义:

when(错误){
SessionUnavailableOfflineException->doSomething()是否可用
是否为InvalidAccountTypeException->doSomethingElse()
//等等。
}
您还可以通过以下方式检查活动身份验证会话中的错误:

Amplify.Auth.fetchAuthSession(
{结果->
val cognitoAuthSession=结果为AWSCognitoAuthSession
if(AuthSessionResult.Type.FAILURE==cognitoAuthSession.identityId.Type){
//做事
}
},
{error->Log.e(“AuthQuickStart”,error.toString())}
)

这是一种更优雅的检查其类型的方法,是的,谢谢。但假设我想检查“UserNotConfirmedException”,我只在消息中得到通知,但“error”是不可设置的。会放大.Auth.fetchAuthSession()来检查这样的错误吗?嘿@KapitaiN-你是对的,目前我们没有像你要识别的错误那样对错误进行分类,比如usernotconfirm、username不存在或密码错误。这是我们意识到的一个缺口,我们的待办事项中有需要解决的。@DavidDaudelin好的,谢谢你的帮助!那我就想办法了。
{ error ->
     inputEmail.error = "Check if the e-mail is valid"
     inputPassword.error = "Check if the password is valid"
})