我从其他客户发送请求时遇到异常 这是我的DTO课程
private String fromDate;
private String toDate;
public String getFromDate() {
return fromDate;
}
public void setFromDate(String fromDate) {
this.fromDate = fromDate;
}
public String getToDate() {
return toDate;
}
public void setToDate(String toDate) {
this.toDate = toDate;
}
请求数据包是这种格式如何以这种格式发送日期,但它将采用字符串
{
" toDate": "2014/07/01",
" fromDate ": "2014/05/01",
" imeiNo ": "1234567890",
" phoneNumber ": 1234567890,
" emailId ": ""
}
这是我在helper类中转换的方法
private static Timestamp convertStringDateToTimestamp(String stringDate)
{
DateFormat formatter;
Date date = null;
formatter = new SimpleDateFormat("yy-MM-dd");
try {
date = (Date) formatter.parse(stringDate);
}
catch (ParseException e) {
e.printStackTrace();
}
java.sql.Timestamp timeStamp = new Timestamp(date.getTime());
return timeStamp;
}
但在我的服务器中获取此异常
java.lang.NullPointerException at org.omnypay.mobileapp.webservices.helper.TransactionHelper.convertStringDateToTimestamp(Tra
请帮帮我
答案 0 :(得分:0)
如果格式化程序未将字符串解析为日期,则date
变量为null
,您无法调用date.getTime()
。
在该行之前添加空检查。
OR
Jon说,你需要更好地处理Exception。打印堆栈跟踪后抛出异常,或返回一个值,以便程序执行不会继续执行方法的其余部分。
答案 1 :(得分:0)
您的日期为/
作为分隔符,但您将-
定义为格式化程序中的分隔符。而且你还有像2014年那样的全年而不是14年改为
formatter = new SimpleDateFormat("yyyy/MM/dd");