<?php namespace KIF\Exception; use Exception; /** * * 数据库异常类 * @author gxg * */ class DBException extends Exception { public function __construct ($message = 'DB异常', $code = 0) { parent::__construct($message, $code); } /** * * 未匹配到符合条件的记录 * @var string */ const NOT_MATCH = 'NOT_MATCH'; /** * * 插入时已存在 * @var string */ const EXIST_ON_INSERT = 'EXIST_ON_INSERT'; /** * * cas_token 不匹配 * @var string */ const CAS_TOKEN_NOT_MATCH = 'CAS_TOKEN_NOT_MATCH'; /** * * 提交事务失败 * @var string */ const COMMIT_TRANSACTION_FAIL = 'COMMIT_TRANSACTION_FAIL'; /** * * 获取异常描述 * @return array */ static public function getDesc() { return array( self::NOT_MATCH => array( 'kw' => 'NOT_MATCH', 'desc' => '未匹配到符合条件的记录', ), self::CAS_TOKEN_NOT_MATCH => array( 'kw' => 'CAS_TOKEN_NOT_MATCH', 'desc' => 'cas_token不匹配', ), self::COMMIT_TRANSACTION_FAIL => array( 'kw' => 'COMMIT_TRANSACTION_FAIL', 'desc' => '提交事务失败', ), ); } /** * * 根据异常的关键词获取文本型的描述 * @param string $kw * @return false | string */ static public function getTextDescByKW($kw) { $descs = self::getDesc(); if (isset($descs[$kw])) { return $descs[$kw]['desc']; } return false; } }