PHP 7 Obsługa błędów
PHP 7 zmienić niewłaściwy sposób większość raportów. W odróżnieniu od tradycyjnego mechanizmu raportowania błędów PHP 5, a teraz większość błędów są wyrzucane jako błąd wyjątku.
Wyjątek ten błąd może być tak normalne, jak nienormalnym przechwyconego bloku try / catch. Jeśli nie pasującego bloku try / catch, zadzwoń do obsługi wyjątku (() zarejestrowaną przez set_exception_handler) do przetwarzania. Jeśli nie jesteś zarejestrowany obsługi wyjątku są przetwarzane w tradycyjny sposób: zostaje zgłoszona jako błąd krytyczny (Fatal Error).
Klasa błędu nie rozciąga się od klasy Exception, więc używaj catch (Exception $ e) {...} Ten kod nie jest uchwycić błąd. Można złapać błąd z połowu (błąd $ e) {...} Kod ten, lub listem obsługi wyjątków (set_exception_handler ()).
Błąd hierarchia wyjątków
- błąd
- ArithmeticError
- AssertionError
- DivisionByZeroError
- ParseError
- TypeError
- wyjątek
- ...
Przykłady
Przykłady
MathOperations klasy
{
protected $ n = 10;
// Operacja pozostałym dzielnik jest 0, zgłaszany jest wyjątek
public function doOperation (): string
{
try {
$ Value = $ this -> n % 0;
return $ wartość;
} Catch (DivisionByZeroError $ e) {
return $ e -> getMessage () ;
}
}
}
$ MathOperationsObj = new MathOperations ();
print ($ mathOperationsObj -> doOperation ( ));
?>
Wyjście powyżej wykonywanie programu jest:
Modulo by zero