有沒有人知道爲什麼此函數在傳遞無效日期(例如時間戳)時仍然會拋出錯誤,儘管try-catch
?DateTime對象上的PHP異常處理
function getAge($date){
try {
$dobObject = new DateTime($date);
$nowObject = new DateTime();
$diff = $dobObject->diff($nowObject);
}
catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
return $diff->y;
}
錯誤:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::_construct() [datetime.--construct]: Failed to parse time string (422926860) at position 7 (6): Unexpected character' in ... .php:4 Stack trace: #0 ... .php(4): DateTime->_construct('422926860') #1 ... .php(424): getAge('422926860') #2 {main} thrown in/... .php on line 4
非常感謝你提前!
我想你的代碼,它完美的作品。捕獲異常並顯示「錯誤:...」,但沒有發生致命錯誤。您的錯誤必須位於代碼中的其他位置(哪一個位於第四行?)或您的PHP .ini配置或版本中。我在使用PHP 5.4.0 @ Ubuntu 12.04。 – feeela 2012-07-05 12:25:06