Предотвращение конкретной фатальной ошибки PHP: необработанное исключение, позволяющее скрипту продолжить работу - PullRequest
0 голосов
/ 30 января 2010

Я хотел бы сделать так, чтобы мои скрипты могли продолжать работать, даже если есть НЕОБХОДИМАЯ фатальная ошибка. Прямо сейчас я могу получить эту фатальную ошибку: PHP фатальная ошибка: необработанное исключение 'MongoConnectionException' с сообщением бла-бла.

Как мы можем отловить эту конкретную ошибку, зарегистрировать ее, но позволить скрипту продолжить работу? У кого-нибудь есть идеи по этому поводу?

Ответы [ 3 ]

2 голосов
/ 30 января 2010

лови исключение !!!

http://php.net/manual/en/language.exceptions.php

2 голосов
/ 30 января 2010
// run some code

try{
   // run code that throws the exception
}
catch(MongoConnectionException $e)
{
    error_log($e->getMessage());
    // or other logging capabilities
}

// keep running script.
1 голос
/ 30 января 2010

В более общем плане по этому вопросу требуется небольшая осторожность, поскольку стандартные фатальные ошибки PHP автоматически не преобразуются в исключения, это немного изменено из , руководство должно пойти каким-то образом, чтобы смягчить это.

function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

try {
    /* Trigger exception */
    strpos();
}
catch (ErrorException $e) {
    // deal with the error
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...