[英]parse exception (unparseable date)
執行以下代碼時出現解析異常。有人可以幫幫我嗎
private Boolean validateDateFormat(HttpSession session, PropertiesHandler props, String startDate,Date sqlDate) {
logger.info("Enter validate");
Boolean isvalid = true;
HashMap hashMap = new LinkedHashMap();
System.out.println("Entered validate block");
if (startDate == null || startDate.equals("")) {
isvalid = false;
hashMap.put("date", props.getText("error.date.compare.cannotbeblank"));
session.setAttribute("errorMessage", hashMap);
System.out.println("Map size " + hashMap.size());
logger.info("Exit validate");
return isvalid;
}
ArrayList<CalendarDatepicker> calList = new ArrayList<CalendarDatepicker>();
String whereClause = " cd.calendar_datepicker="+sqlDate;
calList = (ArrayList<CalendarDatepicker>)dateTimePickerImpl.getCalendarDateDetailsByWhereClause(whereClause);
System.out.append("appointment list size " + calList.size());
if(calList.isEmpty())
{
isvalid=false;
System.out.println("here");
hashMap.put("date", props.getText("error.date.compare.incorrectformat"));
session.setAttribute("errorMessage", hashMap);
System.out.println("Map size " + hashMap.size());
logger.info("Exit validate");
return isvalid;
}
您在最后一條評論中提到: 如果我給出10/00/2010或10/32/2010,則給出空指針異常和解析異常 。
好吧……當然是。 它給您一個Unparsable Date例外,因為10/00/1010和10/32/2010都不是有效日期。
您是在解析日期嗎? 您應該嘗試將其包含在try-catch塊中:
try {
// parse date here
} catch (ParseException e) {
// handle what do to on parse exception here
}
您可以選擇在捕獲無法分析的日期時設置默認日期(例如,月中),或記錄錯誤等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.