我有以下代码:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone tz2 = TimeZone.getTimeZone("GMT");
dateFormat.setTimeZone(tz2);
String aDate = "2012-05-02 23:59:59";
for(int i=0 ; i<1000; i++){
dateFormat.setLenient(false);
ParsePosition p = new ParsePosition(0);
Date date = dateFormat.parse(aDate, p);
java.sql.Date sqlDate = null;
if (p.getIndex() != aDate.length())
throw new RuntimeException("just a test");
}
经过多次测试,它非常陌生。基本上,它永远不会完全完成,它非常随机地遇到异常。
你看代码应该是正确的,但是:当它可能i
是 500 或者i
是 799 或者i
是 988 时它遇到了异常(这里只是举一些例子,意味着它在 = 0 时没有发生i
,它实际上已经完成了一些圈子),异常可能会在 Datedate = dateFormat.parse(aDate, p);
或 line中抛出throw new RuntimeException("just a test");
;
每个人都可以建议我有什么问题吗?