wip
This commit is contained in:
32
mangezmieux-backend/internal/postgres/database_error.go
Executable file
32
mangezmieux-backend/internal/postgres/database_error.go
Executable file
@@ -0,0 +1,32 @@
|
||||
package postgres
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type Type int
|
||||
|
||||
const (
|
||||
ErrTypeNotFound Type = iota
|
||||
ErrTypeDuplicate
|
||||
ErrTypeForeignKeyViolation
|
||||
)
|
||||
|
||||
type Error struct {
|
||||
Cause error
|
||||
Type Type
|
||||
}
|
||||
|
||||
func NewDAOError(t Type, cause error) error {
|
||||
return &Error{
|
||||
Type: t,
|
||||
Cause: cause,
|
||||
}
|
||||
}
|
||||
|
||||
func (e *Error) Error() string {
|
||||
if e.Cause != nil {
|
||||
return fmt.Sprintf("Type %d: %s", e.Type, e.Cause.Error())
|
||||
}
|
||||
return fmt.Sprintf("Type %d: no cause given", e.Type)
|
||||
}
|
||||
Reference in New Issue
Block a user