Android开发中"逃避式"防止大多数Crash的策略
来源:互联网 发布:大数据洞察有哪些特色 编辑:程序博客网 时间:2024/06/05 17:53
Android开发中经常在我们对逻辑分支考虑不周全的时候出现预料之外的问题,导致出现异常,没有对异常进行处理使得程序Crash。例如:创建一个TextView对象,没有使用findViewById对其进行实例化就操作此对象。就会出现NullPointException的异常。相应的程序必然出现Crash。这样的错误当然对一个程序员来讲是必须整改的一个错误。然而,在某些情况下我们是很难预料到会不会出现异常的。而出现了异常我们就要让程序直接崩溃吗?例如,一个网络请求回来的数据,我们使用Gson框架进行反序列化成一个业务bean。某个字段空了,直接就因为这一个字段空了就让程序Crash吗?显然不合理!下面将提供一种”逃避”问题的方式来有效的解决此问题。
Bundle bundle=new Bundle(); bundle.putString("title",sms.getName()); bundle.putString("left", sms.getMainSaleman().getName()); String str=sms.getCreateDate(); str=str.substring(0,10); bundle.putString("right",str); bundle.putString("id",sms.getId()); sourcelist.add(bundle);
以上代码片段中,left对应的一个字段是可能为null的。程序运行到这就会抛出NullPointException的异常,自然而然的程序就Creash了。怎么避免?很简单。Try-Catsh一下。
try { Bundle bundle=new Bundle(); bundle.putString("title",sms.getName()); bundle.putString("left", sms.getMainSaleman().getName()); String str=sms.getCreateDate(); str=str.substring(0,10); bundle.putString("right",str); bundle.putString("id",sms.getId()); sourcelist.add(bundle); }catch (NullPointerException e){ //将异常信息打印到控制台 e.printStackTrace(); Log.i("NUll","捕获到空指针异常"); }
这样程序就不会Crash了,以此类推,程序因为异常没有及时处理而引发的Crash都可以这样解决。当然,这只是粗暴的解决了问题。从根本上解决的话还需要和后台开发的同事进行沟通,对返回的数据进行有效的约束。
0 0
- Android开发中"逃避式"防止大多数Crash的策略
- 【crash策略】Android中处理崩溃异常策略
- Android开发中获取crash信息
- android中if判断引起的crash
- Android中获取应用的crash信息
- Android开发中图片的三级缓存策略
- Android开发中防止再入坑
- Android中Crash收集
- Android中crash处理
- iOS防止消息转发的crash
- 生命中有某些过程是不容逃避的
- Android开发中数据库升级策略
- --------------android开发中的crash------问题--------------------
- android开发(crash篇)
- android开发经常碰到的crash(上)
- android开发经常碰到的crash(下)
- android开发技巧-记录未捕获的crash异常日志
- android 快速开发三、 获取应用的crash信息
- Hbase架构与原理
- vue2.0有哪些变化
- Caffe之网络输出
- Lua协程例子
- HDOG2709
- Android开发中"逃避式"防止大多数Crash的策略
- Linux环境下安装ssh2模块
- 微信jssdk,实现多图上传的一点心得
- 【搜索】洛谷 P1461 海明码 Hamming Codes
- 何洋开讲丨“云”将如何在中国制造2025中起到颠覆作用?
- 关于ETag和Gzip的基本认知和使用
- 字符设备
- 碰撞检测经典解决方案
- centos目录结构详细版