Hello! I am currently doing some error handling in my app and I noticed, that I can't find any good way to programatically check what the exact error was. Take the following code as an example
try {
account = await _account.create(
userId: ID.unique(),
name: username,
email: email,
password: password,
);
} on AppwriteException catch (e) {
if(e.code == 400 && e.type == 'general_argument_invalid') {
// Could be that the email is not provided correctly, that the password is not strong enough etc.
}
}
The create account method can give multiple exceptions. I can access e.code with the response code and e.type. These two give me some information on what happened, but to really check what has happended I need to check e.message. But I don't feel like e.message is a good approach. The e.message is written in a good human readable form, making it difficult to check. E.g. the e.mesage for when the password is invalid would be: Invalid password: Password must be at least 8 characters and should not be one of the commonly used password.
I can't just do e.message = 'Invalid password: Password must be at least 8 characters and should not be one of the commonly used password.', because this message is something that could change very fast in the sdk or somewhere else. So what is the recommended approach to handle specific errors?
And what do you need to do after checking what kind of error it is?
Showing the user a snackbar that the mail is not provided correctly or that the password is not strong enough. I kno, e.message is written in a human-readable language and can be used, but what if I want to use other messages or want to translate it into other languages?
Recommended threads
- Download appwrite Docs
Is there is a way to download appwrite Docs ? Because appwrite skill isn't enough to give the agent full understanding about how appwrite works (I noticed this ...
- How do you contact support to cancel a s...
My nephew signed up with my CC without my permission and has forgotten the password to the account. I can't for the life of me get a hold of anyone at appwrite....
- Impossible to get USER after createEmail...
Am using provider to deal with functions linked to appwrite. Here is my login. Future<String?> login(String email, String password) async { try { aw...