Date date = null; try {
date = em1format.parse(sDisplay);
} catch (ParseException e) {
LogUtil.error(AAConstants.PACKAGE_NAME, e.toString(), e);
} if (date != null) {
sDisplay = format.format(date);
tmpVector.add(new TextElement(sDisplay));
} else {
tmpVector.add(new TextElement());
}
想問的是:當sDisplay為非法日期格式拋出異常後,變量date有沒有可能是null以外的其它值?
解决方案 »
- spring注入,提示Invalid property name 'CodedbDao' - not JavaBean compliant
- eclipse helios版 maven插件问题
- 【求助!】webwork进行文件上传,如何使服务器上保存的文件名与原始文件名(包括扩展名)一致,或者扩展名一致,前面是一个顺序编号的字符串?
- 关于循环利用JS的问题
- 如何applet远程连接oracle数据库
- 目前正在学习Hibernate,请大家帮忙解答个问题
- 北大青鸟ACCP怎么样???好不好???
- ldap认证失败问题!
- 用javabean调用ejb的疑问
- Exception in thread "main" java.lang.IllegalArgumentException: input == null!
- 上海,J2EE,我为什么找不到工作?
- 为何sun中国社区这么冷落
em1format.parse(sDisplay);先执行,抛出异常的话date = 这个赋值操作自然没有执行,实际上也没有值可以赋
====================================================
你自己给sDisplay一个不合法的值,测试一下不就ok了
当sDisplay為非法日期格式拋出异常后,
只会执行以下这句
LogUtil.error(AAConstants.PACKAGE_NAME, e.toString(), e);
date 仍为null,不可能为其它值
他担心jvm内部是如何处理这种情况,也可能不同的jvm会处理不同, 究竟是不是所有jvm都一样,我想sun能回答你. 如果你不确定建议写如下代码
try {
date = em1format.parse(sDisplay);
} catch (ParseException e) {
date = null //加上这句,无论jvm怎样处理,你都不必担心, 我一般也是加上这句的.
LogUtil.error(AAConstants.PACKAGE_NAME, e.toString(), e);
}
date = em1format.parse(sDisplay);
} catch (ParseException e) {
这里写你要改的的代码
eg:date=null;
} if (date != null) {
sDisplay = format.format(date);
tmpVector.add(new TextElement(sDisplay));
} else {
tmpVector.add(new TextElement());
}
jvm又不是只有sun出。