2013-04-03 3 views
2

Я пытаюсь проверить вход даты, так что если это правильно, я обрабатывать один путь, и если инвалид, я обрабатывать другой ...попытка поймать не поймать неверную дату

var date, datestring, e; 

datestring = "2012-03-222"; 

try { 
    date = new Date(datestring); 
    /* Ends up logging `Invalid Date` 
    */ 

    console.log(date); 
} catch (_error) { 
    e = _error; 
    /* Should come here and log `Error: Invalid Date` or the likes 
    */ 

    console.log("Erorr: " + e); 
} 

Я мог бы просто проверьте возвращаемую строку и посмотрите, есть ли она Invalid Date или нет, но оба удивлены тем, что try/catch не работает для этого сценария и обеспокоен тем, что могут быть другие сообщения об ошибках, которые я не сопоставляю.

Как мне решить эту проблему?

ответ

4

Объекты даты не выставляют ошибку, если они недействительны. Существует метод, описанный in this related question, который определит, действительна ли дата.

+0

Спасибо, это то, что мне нужно! –