Как я могу знать во время времени выполнения, что мой код бросил Предупреждение?
пример
try {
echo (25/0);
} catch (exception $exc) {
echo "exception catched";
}
броски "Предупреждение: Деление на нуль" ошибка, которую я не могу обработать на своем коде.
Вам нужна функция set_error_handler ()
. Ознакомьтесь с образцом кода в руководстве.
Убедитесь, что вы не только подавляете предупреждения об ошибках, но вместо этого автоматически перенаправляете их в файл журнала или что-то подобное. (Это поможет вам отслеживать ошибки)
Вам необходимо самостоятельно обработать исключение, например,
function inverse($x)
{
if(!$x)
{
throw new Exception('Division by zero.');
}
else
{
return 1/$x;
}
}
try
{
echo inverse(5);
echo inverse(0);
}
catch (Exception $e)
{
echo $e->getMessage();
}
Вам необходимо установить обработчик ошибок, который преобразует "ошибки" php старого стиля в исключения. См. Пример здесь