Рубрики
Uncategorized

Анализ операции обработки исключений PDO, реализованной с помощью PHP

Автор оригинала: David Wong.

В этой статье приведен пример обработки исключений PDO, реализованной с помощью php . Поделитесь для вашей справки следующим образом:

Обработка исключений:

PHP: По умолчанию, прямое сообщение об ошибках

MYSQL: Режим по умолчанию-беззвучный режим, ошибка исправлена, об ошибке не сообщается.

PDO: Режим по умолчанию-беззвучный режим, ошибки исправлены, об ошибках не сообщается.

Раньше, когда PHP сталкивался с ошибками, он напрямую сообщал об ошибках, и обработка ошибок становилась довольно хлопотной. Позже, когда возникает ошибка, сообщение об ошибке больше не выводится напрямую и помещается в объект класса (исключение PDOException).

Чтобы использовать обработку исключений PDO, должны быть выполнены два условия

1. Необходимость превратить режим обработки ошибок в режим исключения

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

2. Все возможные ошибки должны быть помещены в блок фиксации ошибок

try{
   // Error Capture Statement Block
   // Every statement that is likely to make a mistake is put here.
   // Once an error occurs, it immediately enters the catch statement and places all the error information in PDO exception $e.
}catch(PDOExecption $e){
   // Processing error information
}

Например:

try{
  // Connection Authentication
  $pdo = new PDO('mysql:host=localhost;dbname=project','root','root');
  // Setting Error Handling Mode
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
  // organization SQL
  $sql= "update pro_student set s_age = 123 where s_id = 20";
  $res = $pdo->exec($sql);
}catch(PDOException $e){
  //var_dump($e);
  // Tell the user which line of the file is wrong
  Echo'abnormal: < br />';
  Echo's error location:'. $e - > getFile (). $e - > getLine ()'< br />';
  Echo'cause of error:'. $e - > getMessage ();
  Var_dump ($e - > getTrace ()); // Get complete error data
  exit;
}

Иногда, если в выполнении данных нет ошибок, это просто не соответствует указанной бизнес-логике. Как только возникают ошибки бизнес-логики, исключения не могут быть зафиксированы (исключения улавливают только грамматические ошибки). Обычно считается, что, оценивая выполнение инструкций (результатов), можно активно создавать исключения, тем самым прекращая работу программ с ошибками.

Синтаксис: создать новое исключение PDOException;

$sql = "select * from pro_student where s_id = 20";
$stmt = $pdo->query($sql);
If ($stmt - > fetchColumn (4) > 100) throw new PDOException; // throw an exception, jump to the catch statement block immediately
else{
  Echo'No problem';
}

Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Краткое описание навыков работы с базами данных PHP на основе pdo, Краткое описание навыков программирования баз данных php+Oracle, Полное описание навыков работы с базами данных PHP+MongoDB, Введение в объектно-ориентированное программирование PHP, Краткое описание использования строк PHP и Введение в управление базами данных php+mysql. И ” Краткое описание общих навыков работы с базами данных на php”

Я надеюсь, что эта статья будет полезна для разработки PHP – программ для всех.