/ / PHP: Niestandardowa obsługa błędów dla PDO? - php, obsługa wyjątków, obsługa błędów, pdo

PHP: Niestandardowa obsługa błędów dla PDO? - php, obsługa wyjątków, obsługa błędów, pdo

Próbuję spróbować zrobić coś pożytecznegoz wyjątkami PDO innymi niż ich wyświetlanie, ale nie mogę znaleźć dla mnie życia, jak korzystać z procedury obsługi błędów (set_error_handler) lub czegokolwiek niestandardowego, aby poradzić sobie z wyjątkami PDO.

Teraz używam try..catch bloki oczywiście złapać wyjątek, czy zaimplementuję niestandardową obsługę błędów w catch część, czy mogę pominąć całkowicie blok try-> catch, ponieważ obsługa wyjątków obsłużyłaby go dla mnie (przez wywołanie or throw new exception (...) na wyciągu?

Zgaduję, że to, o co pytam, to przykład na wychwytywanie wyjątków PDO i zapisywanie ich mniej więcej (jakikolwiek prosty kod poprawny, czy nie mogę go użyć, nie jestem zbyt głupi).

Odpowiedzi:

10 dla odpowiedzi № 1

Będziesz musiał użyć bloku try..catch wokół każdego zapytania PDO Dodaj swoją funkcję logu w części catch.Nie ma ogólnej procedury obsługi wyjątków w PHP.

try {
pdo::error();
}
catch (Exception $e) {
syslog($e);
}

Jeśli chcesz uniknąć blokad try..catch, możesz skonfigurować PDO tak, aby wyświetlał tylko błędy zamiast rzucać wyjątki. http://php.net/manual/en/pdo.error-handling.php

 $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );