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
- Push Notification FCM Error
Hello dear people. I tried to integrate Push Notifications into my Flutter App. Everything works fine on Android/iOS Simulator + Testflight but as soon as I s...
- Skip total counts crash the query
Hello, When adding the total parameter (either true, the default, or false) to the listRows function, it raises the following error: `type 'bool' is not a sub...
- appwrite free plan resources issue
i'm on free plan and i just used 700MB bandwidth with 8mb storage and 141k requests, but when i'm trying to continue developing my app it send me an error messa...