Я использую Солью закодировать REST API, я пришел на ситуацию, когда мне нужно проверить, если время даты, введенное пользователем является действительным, и, таким образом, пришел с этим кодомТонких поймать блок игнорируя попытки
$app->post('/test', function() use($app)
{
verifyRequiredParams(array('d_string'));
$response = array();
$d_string = $app->request->post('d_string');
try {
$datetime = datetime::createfromformat('d M Y H:i:s', $d_string);
$output = $datetime->format('d-M-Y H:i:s');
}
catch (Exception $e) {
$response["error"] = true;
$response["message"] = $e->getMessage();
echoRespnse(400,$response);
}
$response["error"] = false;
$response["message"] = "Converted Date";
$response['output'] = $output;
echoRespnse(200,$response);
});
Он работает нормально, когда я ввожу допустимую строку времени даты, например 11-Dec-2015 12:18
, но если только для целей тестирования, введите некоторую случайную строку, она дает 500 внутренняя ошибка вместо того, чтобы давать мне какое-либо исключение.
Почему он игнорирует ошибку try catch block ???
Error Info
PHP Fatal error: Call to a member function format() on a non-object
Какая ошибка 500 говорит? Возможно, это синтаксическая ошибка, которую вы делаете. Какова фактическая ошибка в вашем файле журнала? – pavlovich
Нет, как я уже сказал, если я ввожу правильную строку времени даты, она работает нормально, ошибка возникает только при вводе некоторой случайной строки. К сожалению, у меня нет доступа к журналам ошибок сервера. Я спросил об инфракрасной поддержке журналов, но журналы, которые они дали, не упоминают о какой-либо ошибке, связанной с этим –