This commit is contained in:
2020-09-10 15:46:20 +08:00
parent 48c39103de
commit 03f20ae4e3
3 changed files with 34 additions and 6 deletions
+4 -5
View File
@@ -199,7 +199,7 @@ class Command extends Component
$this->prepare->closeCursor();
}
} catch (\Throwable | Exception $exception) {
$this->error($this->sql . '. error: ' . $exception->getMessage());
$this->addError($this->sql . '. error: ' . $exception->getMessage(), 'mysql');
$result = null;
} finally {
return $result;
@@ -241,20 +241,19 @@ class Command extends Component
return false;
}
if (($result = $this->prepare->execute($this->params)) === false) {
return $this->addError($connection->errorInfo()[2]);
return $this->addError($connection->errorInfo()[2],'mysql');
}
if (!$isInsert) {
return true;
}
$result = $connection->lastInsertId();
if ($result == 0 && $hasAutoIncrement) {
return $this->addError($connection->errorInfo()[2]);
return $this->addError($connection->errorInfo()[2],'mysql');
}
return $result;
}
/**
* 重新构建
* @throws
@@ -269,7 +268,7 @@ class Command extends Component
}
$this->prepare = $connect->prepare($this->sql);
if (!($this->prepare instanceof PDOStatement)) {
return $this->addError($this->sql . ':' . $this->getError());
return $this->addError($this->sql . ':' . $this->getError(),'mysql');
}
return $connect;
}
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace HttpServer\Exception;
use Throwable;
/**
* Class ExitException
* @package HttpServer\Exception
*/
class ExitException extends \Exception
{
/**
* ExitException constructor.
* @param string $message
* @param int $code
* @param Throwable|null $previous
*/
public function __construct($message = "", $code = 0, Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
}
+3 -1
View File
@@ -5,6 +5,7 @@ namespace HttpServer\Route;
use Closure;
use Exception;
use HttpServer\Exception\ExitException;
use HttpServer\Http\Context;
use HttpServer\Http\Request;
use HttpServer\IInterface\RouterInterface;
@@ -405,7 +406,6 @@ class Router extends Application implements RouterInterface
$newPath[] = strtoupper($item->method) . ' : ' . $route . '/' . $item->path;
}
}
return $newPath;
}
@@ -424,6 +424,8 @@ class Router extends Application implements RouterInterface
} else {
$response = send($node->dispatch(), 200);
}
} catch (ExitException $exception) {
$response = send(Snowflake::app()->getLogger()->exception($exception), 200);
} catch (\Throwable $exception) {
$response = send(Snowflake::app()->getLogger()->exception($exception), 200);
} finally {