Я пишу программу в PHP с базой данных MYSQL. Я хочу поймать ошибку и дать пользователю определить ошибку вместо системной ошибки. Я использую try и catch для обработки исключений, но фатальная ошибка не попадает в try и catch.I использовал set_exception_handler, но он не работает для меня. Скажите мне, как поймать фатальную ошибку?Как поймать Fatal Error
2
A
ответ
3
1) Простой
How do I catch a PHP Fatal Error
2) Лови Все
Устанавливает пользовательскую функцию (error_handler) для обработки ошибок в скрипте.
http://php.net/manual/en/function.set-error-handler.php
http://php.net/manual/en/book.errorfunc.php
3) Продолжайте читать https://barelysufficient.org/2011/03/catching-fatal-errors-in-php/
1
Фатальные ошибки не могут быть отслежены непосредственно через error_handler(). Вы должны использовать register_shutdown_function(), чтобы поймать эти ошибки.
Пример:
<?php
/**
* Checks for a fatal error, work around for set_error_handler not working on fatal errors.
*/
function check_for_fatal()
{
$error = error_get_last();
if ($error["type"] == E_ERROR)
log_error($error["type"], $error["message"], $error["file"], $error["line"]);
}
register_shutdown_function("check_for_fatal");
?>
0
Это модифицированный пример из PHP Руководство [Лично Испытано & Works]. Я не использовал register_shutdown()
здесь.
<?php
set_error_handler("log_error");
set_exception_handler("log_exception");
function log_error($num, $str, $file, $line, $context = null)
{
log_exception(new ErrorException($str, 0, $num, $file, $line));
}
function log_exception(Exception $e)
{
echo "Some Error Occured. Please Try Later.";
exit();
}
require_once("texsss.php");// I am doing a FATAL Error here
ВЫВОД:
Некоторые ошибка. Пожалуйста, попробуйте позднее.
Смежные вопросы
- 1. Поймать C Runtime Library fatal error in (mixed) .NET code?
- 2. Как решить Fatal Exception error?
- 3. Как отлаживать Codeigniter Fatal Error
- 4. Wordpress Fatal Error Как Фиксированные
- 5. Как решить TortoiseGitPlink Fatal Error?
- 6. php pthreads: «PHP Fatal error», «Fatal error» в CLI
- 7. Fatal Error Using Pip
- 8. Magento: Fatal error issue
- 9. php Aes_Encrypt Fatal Error
- 10. PHP SOAP Fatal Error
- 11. Magento Random Fatal Error
- 12. phpUnit Fatal Error
- 13. MySQLi Catchable Fatal Error
- 14. MongoDB Blacklisted Fatal Error
- 15. PHPmailer Fatal Error
- 16. XML Parsing - Fatal Error
- 17. MySQL остановлен Fatal Error
- 18. PHPExcel Fatal error
- 19. mysqli_connect Fatal Error: require()
- 20. C++ Fatal Error LNK1120
- 21. Fatal Error PDO Exception
- 22. FATAL ERROR: основная ошибка
- 23. Android Eclipse Fatal Error
- 24. Fatal utf8_strpos error
- 25. session_start Броски Fatal Error
- 26. Android Fatal Error
- 27. Fatal Exception error Android
- 28. Fatal error required once()
- 29. Xib fatal error
- 30. PHP Fatal Error SessionHandlerInterface
Просьба предоставить некоторый код – mazer
возможный дубликат [Как поймать PHP Fatal Error] (http://stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal- ошибка) – NDM