errorsx

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package errorsx 提供稳定的 Kratos 结构化错误构造能力。

Index

Constants

View Source
const (
	// ReasonInvalidArgument 表示请求参数错误。
	ReasonInvalidArgument = "INVALID_ARGUMENT"
	// ReasonUnauthenticated 表示认证失败。
	ReasonUnauthenticated = "UNAUTHENTICATED"
	// ReasonPermissionDenied 表示权限不足。
	ReasonPermissionDenied = "PERMISSION_DENIED"
	// ReasonResourceNotFound 表示资源不存在。
	ReasonResourceNotFound = "RESOURCE_NOT_FOUND"
	// ReasonConflict 表示资源状态冲突。
	ReasonConflict = "CONFLICT"
	// ReasonInternalError 表示服务内部错误。
	ReasonInternalError = "INTERNAL_ERROR"

	// METADATA_KEY_CONFLICT_TYPE 标识冲突类型。
	METADATA_KEY_CONFLICT_TYPE = "conflict_type"
	// METADATA_KEY_RESOURCE 标识资源名称。
	METADATA_KEY_RESOURCE = "resource"
	// METADATA_KEY_FIELD 标识字段名称。
	METADATA_KEY_FIELD = "field"
	// METADATA_KEY_CONSTRAINT 标识数据库约束名称。
	METADATA_KEY_CONSTRAINT = "constraint"
	// METADATA_KEY_CHILD_RESOURCE 标识子资源名称。
	METADATA_KEY_CHILD_RESOURCE = "child_resource"
	// METADATA_KEY_CURRENT_STATE 标识当前状态。
	METADATA_KEY_CURRENT_STATE = "current_state"
	// METADATA_KEY_EXPECTED_STATE 标识期望状态。
	METADATA_KEY_EXPECTED_STATE = "expected_state"

	// CONFLICT_TYPE_UNIQUE_VIOLATION 表示唯一约束冲突。
	CONFLICT_TYPE_UNIQUE_VIOLATION = "unique_violation"
	// CONFLICT_TYPE_HAS_CHILDREN 表示仍存在子资源。
	CONFLICT_TYPE_HAS_CHILDREN = "has_children"
	// CONFLICT_TYPE_STATE_CONFLICT 表示状态冲突。
	CONFLICT_TYPE_STATE_CONFLICT = "state_conflict"
	// CONFLICT_TYPE_PROTECTED_RESOURCE 表示受保护资源。
	CONFLICT_TYPE_PROTECTED_RESOURCE = "protected_resource"
)

Variables

This section is empty.

Functions

func Conflict

func Conflict(message string) *kratosErrors.Error

Conflict 构造状态冲突错误。

func HasChildrenConflict

func HasChildrenConflict(message, resource, childResource string) *kratosErrors.Error

HasChildrenConflict 构造存在子资源的冲突错误。

func Internal

func Internal(message string) *kratosErrors.Error

Internal 构造内部错误。

func InvalidArgument

func InvalidArgument(message string) *kratosErrors.Error

InvalidArgument 构造请求参数错误。

func IsMySQLDuplicateKey

func IsMySQLDuplicateKey(err error) bool

IsMySQLDuplicateKey 判断是否命中了 MySQL 唯一键冲突。

func IsStructuredError

func IsStructuredError(err error) bool

IsStructuredError 判断错误是否已经携带稳定 reason。

func PermissionDenied

func PermissionDenied(message string) *kratosErrors.Error

PermissionDenied 构造权限不足错误。

func ProtectedResourceConflict

func ProtectedResourceConflict(message, resource string) *kratosErrors.Error

ProtectedResourceConflict 构造受保护资源冲突错误。

func ResourceNotFound

func ResourceNotFound(message string) *kratosErrors.Error

ResourceNotFound 构造资源不存在错误。

func StateConflict

func StateConflict(message, resource, currentState, expectedState string) *kratosErrors.Error

StateConflict 构造状态冲突错误。

func Unauthenticated

func Unauthenticated(message string) *kratosErrors.Error

Unauthenticated 构造认证失败错误。

func UniqueConflict

func UniqueConflict(message, resource, field, constraint string) *kratosErrors.Error

UniqueConflict 构造唯一约束冲突错误。

func WrapIfNeeded

func WrapIfNeeded(err error, fallback *kratosErrors.Error) error

WrapIfNeeded 在错误尚未完成分类时,使用兜底错误包装。

func WrapInternal

func WrapInternal(err error, message string) error

WrapInternal 在错误尚未完成分类时,包装成内部错误。

Types

This section is empty.

Jump to

Keyboard shortcuts

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