db, $query, $params); $result = pg_get_result($this->db); if (($code = pg_result_error_field($result, \PGSQL_DIAG_SQLSTATE)) && isset($code) && $code) { return $this->buildException($code, pg_result_error($result)); } else { return $result; } } protected function buildException(string $code, string $msg): array { switch ($code) { case "22P02": case "42804": return [ExceptionInput::class, 'engineTypeViolation', $msg]; case "23000": case "23502": case "23505": return [ExceptionInput::class, "engineConstraintViolation", $msg]; case "55P03": case "57014": return [ExceptionTimeout::class, 'general', $msg]; default: return [Exception::class, "engineErrorGeneral", $code.": ".$msg]; // @codeCoverageIgnore } } }