Я новичок в PHP, поэтому извиняюсь, если это кажется глупым. Я искал вокруг и не мог найти ничего, что конкретно объясняло то, что я ищу.
В конечном счете у меня есть две цели.
Моя ментальная модель обработки ошибок PHP достаточно пятна, и я не могу двигаться вперед с уверенностью, и я не смог найти хорошую документацию об этом процессе.
Чтобы дать некоторые надуманные примеры.
Я думаю, что большая часть моей путаницы связана с тем, какие ошибки приводят к смерти сценария, а какие нет (используя обработчик по умолчанию), а когда скрипт умирает, как мы изящно информируем пользователя?
Кроме того, какие-либо из стандартных функций / объектов php используют исключения? Если я предпочитаю обрабатывать исключения в более стиле C, я не удивлюсь ни в какой точке? Это изменится в PHP6? Если это так, я приложу усилие к работе над различиями между использованием стиля и исключений c, но если нет, я бы предпочел просто использовать стиль c последовательно на PHP5. Это не проблема, которую я заинтересован в решении, если я не нуждаюсь в этом.
edit: Я только понял, что контент не совсем соответствует названию. Я хотел бы знать, когда возникает ошибка, каков логический поток для PHP? Таким образом, я могу лучше понять, как достичь своих целей в отношении обработки ошибок в PHP.
большинство встроенных в PHP туфов запускают ошибки, с которыми вы не можете справиться в настройке по умолчанию.
Однако вы можете обходиться с этим путем создания настраиваемого обработчика ошибок и исключения исключений вместо ошибки. (PHP, когда это возможно, запускает ваш обработчик, прежде чем обрабатывать ошибку внутренне, поэтому вы можете фактически исключить Исключения обычным способом.)
Я написал кучу кода, который вы могли бы использовать для этой ситуации в моем ответе здесь: PHP: исключения против ошибок?
Если php не может фактически проанализировать ваш файл, вы в значительной степени зависаете, php будет сильно разбиваться при большинстве ситуаций, когда он не может разобрать файл. Хотя вы можете попытаться написать свою собственную функцию включения, которая будет содержать файл eval
, прежде чем включать его, и просто пропустить, если eval
неудачно. Вы должны быть уверены, что можете в основном доверять файлам.
Исключения хорошо интегрированы в PHP5
. Они имеют тот же синтаксис try/catch
что и исключения Java / C ++. Используйте их при ожидаемой ошибке.
Если вы хотите показать пользовательскую страницу « oops », вы можете использовать set_exception_handler в сочетании с trigger_error . Дополнительные советы рассмотрим эту ссылку.