簡體   English   中英

解析異常(不可解析的日期)

[英]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/101010/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM