В этой статье приведен пример обработки исключений 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 – программ для всех.