errors

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

* @Author: kamalyes 501893067@qq.com * @Date: 2025-12-13 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-12-13 10:26:53 * @FilePath: \go-sqlbuilder\errors\checker.go * @Description: 数据库错误检测工具函数 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsColumnNotExistError added in v0.3.4

func IsColumnNotExistError(err error) bool

IsColumnNotExistError 检查是否为列不存在错误

func IsConnectionError added in v0.3.4

func IsConnectionError(err error) bool

IsConnectionError 检查是否为数据库连接错误

func IsConstraintViolation added in v0.3.4

func IsConstraintViolation(err error) bool

IsConstraintViolation 检查是否为约束违反错误(通用)

func IsDataTooLongError added in v0.3.4

func IsDataTooLongError(err error) bool

IsDataTooLongError 检查是否为数据过长错误

func IsDatabaseNotExistError added in v0.3.4

func IsDatabaseNotExistError(err error) bool

IsDatabaseNotExistError 检查是否为数据库不存在错误

func IsDeadlockError added in v0.3.4

func IsDeadlockError(err error) bool

IsDeadlockError 检查是否为死锁错误

func IsDuplicateKeyError added in v0.3.4

func IsDuplicateKeyError(err error) bool

IsDuplicateKeyError 检查是否为重复键错误(唯一索引冲突) 支持: - GORM ErrDuplicatedKey (GORM 1.20+) - MySQL Error 1062 (ER_DUP_ENTRY) - PostgreSQL Error 23505 (unique_violation)

func IsForeignKeyViolation added in v0.3.4

func IsForeignKeyViolation(err error) bool

IsForeignKeyViolation 检查是否为外键约束错误

func IsPermissionDeniedError added in v0.3.4

func IsPermissionDeniedError(err error) bool

IsPermissionDeniedError 检查是否为权限拒绝错误

func IsRecordNotFoundError added in v0.3.4

func IsRecordNotFoundError(err error) bool

IsRecordNotFoundError 检查是否为记录不存在错误

func IsSyntaxError added in v0.3.4

func IsSyntaxError(err error) bool

IsSyntaxError 检查是否为SQL语法错误

func IsTableNotExistError added in v0.3.4

func IsTableNotExistError(err error) bool

IsTableNotExistError 检查是否为表不存在错误

func IsTimeoutError added in v0.3.4

func IsTimeoutError(err error) bool

IsTimeoutError 检查是否为超时错误

Types

type ErrorCode

type ErrorCode = errorx.ErrorType

ErrorCode 错误代码类型(复用 errorx.ErrorType)

const (
	ErrorCodeNotFound     ErrorCode = 11001 // 记录不存在
	ErrorCodeAlreadyExist ErrorCode = 11002 // 记录已存在
	ErrorCodeInvalidInput ErrorCode = 11003 // 输入参数无效
	ErrorCodeUnauthorized ErrorCode = 11004 // 未授权
	ErrorCodeForbidden    ErrorCode = 11005 // 禁止访问
	ErrorCodeConflict     ErrorCode = 11006 // 操作冲突
)

通用业务错误 (11000-11999)

const (
	ErrorCodeDBError           ErrorCode = 21001 // 数据库操作失败
	ErrorCodeDBDuplicate       ErrorCode = 21002 // 数据库记录重复
	ErrorCodeDBConstraint      ErrorCode = 21003 // 数据库约束冲突
	ErrorCodeDBDeadlock        ErrorCode = 21004 // 数据库死锁
	ErrorCodeNoDatabaseConn    ErrorCode = 21005 // 无数据库连接
	ErrorCodeDBFailedUpdate    ErrorCode = 21006 // 数据库更新失败
	ErrorCodeDBFailedInsert    ErrorCode = 21007 // 数据库插入失败
	ErrorCodeDBFailedDelete    ErrorCode = 21008 // 数据库删除失败
	ErrorCodeNestedTransaction ErrorCode = 21009 // 嵌套事务错误
)

数据库错误 (21000-29999)

const (
	ErrorCodeCacheError              ErrorCode = 31001 // 缓存操作失败
	ErrorCodeCacheMiss               ErrorCode = 31002 // 缓存未命中
	ErrorCodeCacheStoreNotFound      ErrorCode = 31003 // 缓存存储未找到
	ErrorCodeCacheKeyNotFound        ErrorCode = 31004 // 缓存键不存在
	ErrorCodeCacheExpired            ErrorCode = 31005 // 缓存已过期
	ErrorCodeCacheStoreNotConfigured ErrorCode = 31006 // 缓存存储未配置
	ErrorCodeCacheInvalidData        ErrorCode = 31007 // 缓存数据无效
)

缓存错误 (31000-39999)

const (
	ErrorCodeResourceNotFound      ErrorCode = 41001 // 资源不存在
	ErrorCodeBuilderNotInitialized ErrorCode = 41002 // Builder未初始化
	ErrorCodeInvalidTableName      ErrorCode = 41003 // 表名无效
	ErrorCodeInvalidFieldName      ErrorCode = 41004 // 字段名无效
	ErrorCodeInvalidSQLQuery       ErrorCode = 41005 // SQL查询无效
	ErrorCodeAdapterNotSupported   ErrorCode = 41006 // 适配器不支持
)

SQL构建器错误 (41000-49999)

const (
	ErrorCodeInvalidOperator    ErrorCode = 51001 // 无效的操作符
	ErrorCodeInvalidFilterValue ErrorCode = 51002 // 过滤值无效
	ErrorCodePageNumberInvalid  ErrorCode = 51003 // 页码无效
	ErrorCodePageSizeInvalid    ErrorCode = 51004 // 页大小无效
	ErrorCodeTimeRangeInvalid   ErrorCode = 51005 // 时间范围无效
	ErrorCodeEmptyFilterParam   ErrorCode = 51006 // 过滤参数为空
)

查询错误 (51000-59999)

const (
	ErrorCodeInternal        ErrorCode = 90001 // 内部服务错误
	ErrorCodeTimeout         ErrorCode = 90002 // 请求超时
	ErrorCodeTooManyRequests ErrorCode = 90003 // 请求过于频繁(限流)
	ErrorCodeUnsupported     ErrorCode = 90004 // 不支持的操作
	ErrorCodeUnknown         ErrorCode = 90005 // 未知错误
	ErrorCodeOperationFailed ErrorCode = 90006 // 操作失败
)

系统级错误 (90000-99999)

const (
	ErrorCodeSuccess ErrorCode = 0 // 成功
)

基础通用错误 (0-999)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL