当以下得到坏数据PHP中止。
PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (980671) at position 4 (7): Unexpected character'
我怎么能抓住这个如果数据不好采取其他行动使PHP问题不会失败?
$date = new DateTime($TRANSACTION_DATE_MMDDYY_raw);
使用try
和catch
try {
$date = new DateTime($date);
} catch(Exception $e) {
echo "Invalid date... {$e->getMessage()}";
}
作为@Rob W
已经说过,你必须捕获该异常。
但是,可能会导致该异常是inaproppriate日期时间格式。
为了解决这个问题,你可以这样做,而不是:
try {
$dt = DateTime::createFromFormat("MMDDYY", $TRANSACTION_DATE_MMDDYY_raw) ;
} catch(Exception $e){
echo "Something went wrong: {$e->getMessage()} " ;
}
更多关于它: http://www.php.net/manual/en/datetime.createfromformat.php