errors

package
v0.4.4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound             = sentinel(KindNotFound)
	ErrAlreadyExists        = sentinel(KindAlreadyExists)
	ErrConflict             = sentinel(KindConflict)
	ErrInvalidModel         = sentinel(KindInvalidModel)
	ErrInvalidRelationship  = sentinel(KindInvalidRelationship)
	ErrMigrationRequired    = sentinel(KindMigrationRequired)
	ErrSchemaDrift          = sentinel(KindSchemaDrift)
	ErrInvalidContext       = sentinel(KindInvalidContext)
	ErrMissingCompany       = sentinel(KindMissingCompany)
	ErrPolicyDenied         = sentinel(KindPolicyDenied)
	ErrSeedConflict         = sentinel(KindSeedConflict)
	ErrDriverNotRegistered  = sentinel(KindDriverNotRegistered)
	ErrUnsupportedDialect   = sentinel(KindUnsupportedDialect)
	ErrTransactionClosed    = sentinel(KindTransactionClosed)
	ErrCommitFailed         = sentinel(KindCommitFailed)
	ErrRollbackFailed       = sentinel(KindRollbackFailed)
	ErrOptimisticLockFailed = sentinel(KindOptimisticLockFailed)
	ErrRawSQLPolicyRequired = sentinel(KindRawSQLPolicyRequired)

	// Compatibility sentinels used by the existing codebase.
	ErrConfiguration        = sentinel(KindConfiguration)
	ErrInvalidSchema        = sentinel(KindInvalidSchema)
	ErrUnsupportedFeature   = sentinel(KindUnsupportedFeature)
	ErrMigrationGeneration  = sentinel(KindMigrationGeneration)
	ErrMigrationApplication = sentinel(KindMigrationApplication)
	ErrRuntimeQuery         = sentinel(KindRuntimeQuery)
	ErrAccessViolation      = sentinel(KindAccessViolation)
)

Functions

func As

func As(err error, target any) bool

As reports whether err can be assigned to target.

func Is

func Is(err, target error) bool

Is reports whether err matches target.

func New

func New(kind Kind, msg string) error

New creates a classified error.

func NewAccessError

func NewAccessError(kind Kind, operation, policy, field, reason string, err error) error

func NewDriverError

func NewDriverError(kind Kind, driver, operation string, err error) error

func NewMigrationError

func NewMigrationError(kind Kind, file, statement string, line int, err error) error

func NewRawSQLPolicyError added in v0.3.2

func NewRawSQLPolicyError(operation, hint string, err error) error

func NewSchemaError

func NewSchemaError(kind Kind, expected, actual, diff string, err error) error

func NewSeedError

func NewSeedError(kind Kind, model, key string, conflict map[string]any, err error) error

func NewTransactionError

func NewTransactionError(kind Kind, operation, savepoint string, err error) error

func NewValidationError

func NewValidationError(model, field, reason string, err error) error

func Wrap

func Wrap(kind Kind, msg string, err error) error

Wrap creates a classified error with a wrapped cause.

Types

type AccessError

type AccessError struct {
	Base      *Error
	Operation string
	Policy    string
	Field     string
	Reason    string
}

AccessError describes access policy failures.

func (*AccessError) Error

func (e *AccessError) Error() string

func (*AccessError) Unwrap

func (e *AccessError) Unwrap() error

type DriverError

type DriverError struct {
	Base      *Error
	Driver    string
	Operation string
}

DriverError describes connection-layer failures.

func (*DriverError) Error

func (e *DriverError) Error() string

func (*DriverError) Unwrap

func (e *DriverError) Unwrap() error

type Error

type Error struct {
	Kind    Kind
	Message string
	Err     error
}

Error is the shared classified error wrapper.

func (*Error) Error

func (e *Error) Error() string

func (*Error) Is

func (e *Error) Is(target error) bool

func (*Error) Unwrap

func (e *Error) Unwrap() error

type Kind

type Kind string

Kind classifies shared ORM errors.

const (
	KindNotFound             Kind = "not_found"
	KindAlreadyExists        Kind = "already_exists"
	KindConflict             Kind = "conflict"
	KindInvalidModel         Kind = "invalid_model"
	KindInvalidRelationship  Kind = "invalid_relationship"
	KindMigrationRequired    Kind = "migration_required"
	KindSchemaDrift          Kind = "schema_drift"
	KindInvalidContext       Kind = "invalid_context"
	KindMissingCompany       Kind = "missing_company"
	KindPolicyDenied         Kind = "policy_denied"
	KindSeedConflict         Kind = "seed_conflict"
	KindDriverNotRegistered  Kind = "driver_not_registered"
	KindUnsupportedDialect   Kind = "unsupported_dialect"
	KindTransactionClosed    Kind = "transaction_closed"
	KindCommitFailed         Kind = "commit_failed"
	KindRollbackFailed       Kind = "rollback_failed"
	KindOptimisticLockFailed Kind = "optimistic_lock_failed"
	KindRawSQLPolicyRequired Kind = "raw_sql_policy_required"

	// Compatibility kinds retained for the existing codebase.
	KindConfiguration        Kind = "configuration"
	KindInvalidSchema        Kind = "invalid_schema"
	KindUnsupportedFeature   Kind = "unsupported_feature"
	KindMigrationGeneration  Kind = "migration_generation"
	KindMigrationApplication Kind = "migration_application"
	KindRuntimeQuery         Kind = "runtime_query"
	KindAccessViolation      Kind = "access_violation"
)

type MigrationError

type MigrationError struct {
	Base      *Error
	File      string
	Statement string
	Line      int
}

MigrationError describes migration generation or application failures.

func (*MigrationError) Error

func (e *MigrationError) Error() string

func (*MigrationError) Unwrap

func (e *MigrationError) Unwrap() error

type RawSQLPolicyError added in v0.3.2

type RawSQLPolicyError struct {
	Base      *Error
	Operation string
	Hint      string
}

RawSQLPolicyError describes a missing explicit policy acknowledgement for Raw SQL execution.

func (*RawSQLPolicyError) Error added in v0.3.2

func (e *RawSQLPolicyError) Error() string

func (*RawSQLPolicyError) Unwrap added in v0.3.2

func (e *RawSQLPolicyError) Unwrap() error

type SchemaError

type SchemaError struct {
	Base     *Error
	Expected string
	Actual   string
	Diff     string
}

SchemaError describes expected/actual/difference mismatches.

func (*SchemaError) Error

func (e *SchemaError) Error() string

func (*SchemaError) Unwrap

func (e *SchemaError) Unwrap() error

type SeedError

type SeedError struct {
	Base     *Error
	Model    string
	Key      string
	Conflict map[string]any
}

SeedError describes synchronization conflicts.

func (*SeedError) Error

func (e *SeedError) Error() string

func (*SeedError) Unwrap

func (e *SeedError) Unwrap() error

type TransactionError

type TransactionError struct {
	Base      *Error
	Operation string
	Savepoint string
}

TransactionError describes begin/commit/rollback failures.

func (*TransactionError) Error

func (e *TransactionError) Error() string

func (*TransactionError) Unwrap

func (e *TransactionError) Unwrap() error

type ValidationError

type ValidationError struct {
	Base   *Error
	Model  string
	Field  string
	Reason string
}

ValidationError describes invalid input or model state.

func (*ValidationError) Error

func (e *ValidationError) Error() string

func (*ValidationError) Unwrap

func (e *ValidationError) Unwrap() error

Jump to

Keyboard shortcuts

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