| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Отлов фатальных ошибок |
| Автор: Garret 27.9.2006, 15:29 |
| Собственно САБЖ. Можно ли это как нибудь сделать, что посоветуете? И еще, можно ли как то не только отрепортить об фатальной ошибке, но и спрятать ее, вывести какое то сообщение на страницу например? |
| Автор: Greendrake 27.9.2006, 15:34 | ||
ИМХО, нельзя, на то они и фатальные ошибки. |
| Автор: Garret 27.9.2006, 16:10 |
| Да наверно так просто нельзя, я на ДКЛаб нашел только отлов фатальных ошибок с помощью префильтрации кода. |
| Автор: boombick 27.9.2006, 17:13 |
| Используйте исключения (Exceptions) Котеров приводил пример класса, который перехватывает все уровни ошибок |
| Автор: Garret 27.9.2006, 17:21 |
| Честно говоря изучил исходник и статью, не помню что там про эксепшены было. Еще разок пересмотрю |
| Автор: Garret 27.9.2006, 17:40 |
| Нет там про эксепшены ничего нет, конечно с их помощью можно отловить фатальные ошибки. Но пихать весь код туда не сильно хорошо, к тому же появляется ограничение ПХП5 |
| Автор: nerezus 4.10.2006, 17:26 |
| Какого рода ошибки ты имеешь ввиду? |
| Автор: Garret 5.10.2006, 10:32 |
| Что много родов у фатальных ошибок? |
| Автор: MuToGeN 5.10.2006, 11:06 |
| 1. Пропускаем вызов всех скриптов через нечто, в котором присутствует set_error_handler(), set_exception_handler() и своя писанина (например, логирование ошибок вместе со стеком вызова или отсылка этого дела на мыло). 2. require('скрипт, который может выдать fatal или parse error'); Даже если подключаемый скрипт приведет к parse error, обработчики ошибок уже будут установленны в первом скрипте. |
| Автор: Garret 5.10.2006, 14:16 |
| И что? Скрипт сдыхает, обработчики не отрабатывают. |
| Автор: MuToGeN 5.10.2006, 15:49 |
| Хм... Да, протестил, не пашет. Хотя помнится, что подобным образом отлавливал ошибки. |
| Автор: IZ@TOP 9.10.2006, 03:09 |
| Попробуйте include. Вроде как include отличается от require как раз тем что если происходит ошибка при include скрипт не останавливается, а если при require, то вылетает. |