Есть ли способ сделать исключения PDO по умолчанию? - PullRequest
0 голосов
/ 25 января 2019

Я использую PDO поверх моего веб-приложения.Я использую этот простой код для обеспечения успешного выполнения запроса и обработки ошибки в случае его сбоя

$stmt = // MySQL query;

if($stmt->execute()){
   // Do something
} else {
   // Handle the error
   echo 'some error';
}

Он не работает, поскольку любое необработанное исключение PDO, например (первичный ключ дублирующейся записи), является фатальной ошибкойпоэтому скрипт PHP останавливает выполнение.Я знаю, TRY / CATCH решают эту проблему, но у меня тонны запросов. Потребуется много времени, чтобы использовать try / catch для каждого запроса.

Мой вопрос

Есть ли способ сделать исключения PDO по умолчанию обобщенными для моего веб-приложения?

1 Ответ

0 голосов
/ 25 января 2019

Я нашел лучшую практику обработки необработанных исключений PDO без использования try / catch после прочтения этого

What-is-SetAttribute-PDO-ATTR_ERRMODE?

1- Атрибут SET PDO::ATTR_ERRMODE -----> PDO::ERRMODE_WARNING

PDO::ERRMODE_WARNING  // issue warning and continue executing the script

2 - Проверьте файл журнала ошибок вашего apache, чтобы определить ошибку

IMP ПРИМЕЧАНИЕ:

  • Делайте это только в том случае, если вы уже обрабатываете ошибки с помощью своего кода, например (сохраняете имя файла php и строку ошибки в базе данных).
  • Вы можете обработать предупреждение с помощьюиспользуя функцию error_reporting ()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...