PHP7 – Mudança de alguns erros fatais para Exception

image_pdfimage_print

Um novo recurso do PHP7 será a inclusão de exception no núcleo do PHP7 e permitir a substituição de alguns erros fatais por exception.

Este recurso será muito útil em diversas situação. Abaixo ilustramos o comportamento deste novo recurso:

function call_method($obj) {
    $obj->method();
}

call_method(null); // Fatal error: Call to a member function method() on a non-object in /path/file.php on line 4

Este era o comportamento e o erro visto até a versão PHP7.

O novo comportamento será substituir o fatal error com EngineException, que poderá ser tratado / capturado por um try/catch, como na seguinte situação:

try {
    call_method(null); // Exception: Call to a member function method() on a non-object
} catch (EngineException $e) {
    echo "Exception: {$e->getMessage()}\n";
}

Caso a Exception não seja tratada, o PHP irá apresentar a mensagem de fatal erro que já é a padrão atualmente.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!