开发者

How to compare the caught exception against standard exceptions in asynchronous task android?

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜