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 № 1Bę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 );