读书人

最基本的学问你随时想到了吗

发布时间: 2012-10-06 17:34:01 作者: rapoo

最基本的知识你随时想到了吗?

你是否会有这样的工作经历,我们写的代码很多是由于对最基本的知识没有太在意从而导致很到的bug,在我的实际工作中就遇到这样的问题.对异常的处理不当,早成不经常出现的bug.

背景:我们开发的软件的某一模块是在手机的屏幕上方由多个tab由左到右排列组成,而各个tab在切换的时候对应数据的获取处理不一致,有的是直接读rms,有的tab是需要向服务器发请求,从服务器取得数据再画到手机屏幕上面.

现象:切换tab的时候由于对异常的处理没有做严格的严格控制,造成切换tab的时候偶尔会出现异常提示语不一致的现象,甚至上一tab的异常提示语会显示在下一没有发生异常的tab界面.

以前的处理是这样的
try{

}catch(XXXException e){
?? //在手机屏幕提示用户
}
显然这样的处理看上去没有任何的逻辑问题,可是由于终端的硬件限制,如:手机的内存小,手机连网环境,特殊机型抛出的异常特别等等,就很容易造成这样的bug发生,
这样的bug怎么处理呢?这里就只讲讲由于内存和连网环境早成的处理,至于特殊机型没有整理全,就不乱说了,如果你有更好的想法,欢迎给我留言.
给各个tab设置对因的标识符,在抛异常的时候再做一次判断就搞定了

try{

}catch(XXXException e){
? if(? 是符合条件的tab){
???//在手机屏幕提示用户
?}
}

读书人网 >移动开发

热点推荐