You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
40 lines
1.4 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://zjzit.cn>
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace think\exception;
|
|
|
|
/**
|
|
* PDO异常处理类
|
|
* 重新封装了系统的\PDOException类
|
|
*/
|
|
class PDOException extends DbException
|
|
{
|
|
/**
|
|
* PDOException constructor.
|
|
* @param \PDOException $exception
|
|
* @param array $config
|
|
* @param string $sql
|
|
* @param int $code
|
|
*/
|
|
public function __construct(\PDOException $exception, array $config, $sql, $code = 10501)
|
|
{
|
|
$error = $exception->errorInfo;
|
|
|
|
$this->setData('PDO Error Info', [
|
|
'SQLSTATE' => $error[0],
|
|
'Driver Error Code' => isset($error[1]) ? $error[1] : 0,
|
|
'Driver Error Message' => isset($error[2]) ? $error[2] : '',
|
|
]);
|
|
|
|
parent::__construct($exception->getMessage(), $config, $sql, $code);
|
|
}
|
|
}
|