欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

新浪微博因微博已删除出现数组越界异常问题 博客分类: 程序问题记录 source 

程序员文章站 2024-03-04 13:44:17
...
在用新浪的API的时候,经常碰到的异常就是数组的越界异常,搞死人...
很多时候这种异常是发生在微博已经删除,或者用户已经删除的时候的,这两天在根据微博ID获取用户的id的时候就出现了这种数组越界异常,终于,看了一些帖子之后发现了问题所在。。
根据我的猜测,很多时候这种问题应该都出在Source这个类中,在使用数组时没有进行数组的判断,如下代码:
public Source(String str) {
super();
// TODO Auto-generated constructor stus
String[] source = str.split("\"",5);
        url = source[1];
        relationShip = source[3];
        name = source[4].replace(">", "").replace("</a", "");    
}


当一条微博删除之后,str就为空了,但是不知道这时为什么数组长度还是1,....不管怎么,下面去数组之后就会越界了,解决方法 加上一个判断,如下:
public Source(String str) {
super();
// TODO Auto-generated constructor stus
String[] source = str.split("\"",5);
if(source.length != 1)                 
{
          url = source[1];
          relationShip = source[3];
          name = source[4].replace(">", "").replace("</a", "");
}
       
}


下次碰到数组越界一定不能放过Source空的判断,还有其他异常也是这个错误的。
相关标签: source