今天在调试一个bug时,发现原来是越界造成的。
形如:
/**
* 一天的毫秒数值
*/
public static final int DAY_TO_MILLISEC = 86400000;
......
public int getDayLimit()
{
return dayLimit;
}
long timeLimit = openData.getDayLimit() * DAY_TO_MILLISEC;
//如此简单的 timeLimit 是个负数。XDD
本文分享了一个关于越界导致bug的实际案例。在一个简单的毫秒转换逻辑中,由于没有正确处理边界条件,使得最终计算得到的时间限制变成了一个负数。
1115

被折叠的 条评论
为什么被折叠?



