I am a beginner in both java and android. I am using asynchronous task in my project to fetch some data from a web service, faced some problems in exception handling. I referred this SO question and I am following the pattern suggested by CommonsWare in this link.
I succeeded in catching the exceptions and storing it in an exception variable. I need to compare the caught exception against some standard exceptions in onPostExecute
method also I would like to display custom error messages based on that. How can I compare this caught exception against standard exceptions? Any help would be appreciated. Thank you.
Use Instanceof
java keyword. It returns true if object instance is of correct type.
if(e instanceof SomeStandardException)
Note: instanceof
returns true for both exact type and all parent types. So if you use it in a cascading if-elseif
then put more concrete types at the top and more generic (parent) types at the bottom.
Note2: catching generic Exception
as proposed in the link is a bad practice - you should only catch exceptions that you want to handle. So instead of saving the exceptin, you should catch a concrete exception via try-catch-catch
, save appropriate flag (boolean field maybe) and then act on this flag.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With