131 lines
2.9 KiB
Go
131 lines
2.9 KiB
Go
package exceptions
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
type OperationType int16
|
|
|
|
const (
|
|
OPERATE_CREATE OperationType = iota
|
|
OPERATE_UPDATE
|
|
OPERATE_DELETE
|
|
OEPRATE_QUERY
|
|
OPERATE_CALCULATE
|
|
OPERATE_DB
|
|
OPERATE_DB_TRANSACTION
|
|
OPERATE_CUSTOM OperationType = 98
|
|
OPERATE_OTHER OperationType = 99
|
|
)
|
|
|
|
type UnsuccessfulOperationError struct {
|
|
Operate OperationType
|
|
Description string
|
|
Message string
|
|
}
|
|
|
|
func NewUnsuccessfulOperationError(oeprate OperationType, describe, message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: oeprate,
|
|
Description: describe,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessCreateError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_CREATE,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessUpdateError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_UPDATE,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessDeleteError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_DELETE,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessQueryError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OEPRATE_QUERY,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessCalculateError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_CALCULATE,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessDBError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_DB,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessDBTransactionError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_DB_TRANSACTION,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessCustomError(describe, message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_CUSTOM,
|
|
Description: describe,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func NewUnsuccessOtherError(message string) *UnsuccessfulOperationError {
|
|
return &UnsuccessfulOperationError{
|
|
Operate: OPERATE_OTHER,
|
|
Message: message,
|
|
}
|
|
}
|
|
|
|
func (e UnsuccessfulOperationError) Error() string {
|
|
var builder strings.Builder
|
|
switch e.Operate {
|
|
case OPERATE_CREATE:
|
|
builder.WriteString("创建")
|
|
case OPERATE_UPDATE:
|
|
builder.WriteString("更新")
|
|
case OPERATE_DELETE:
|
|
builder.WriteString("删除")
|
|
case OEPRATE_QUERY:
|
|
builder.WriteString("查询")
|
|
case OPERATE_CALCULATE:
|
|
builder.WriteString("计算")
|
|
case OPERATE_DB:
|
|
builder.WriteString("数据库")
|
|
case OPERATE_DB_TRANSACTION:
|
|
builder.WriteString("数据库事务")
|
|
case OPERATE_CUSTOM:
|
|
builder.WriteString(e.Description)
|
|
case OPERATE_OTHER:
|
|
builder.WriteString("其他")
|
|
default:
|
|
builder.WriteString("未知")
|
|
}
|
|
builder.WriteString("操作不成功,")
|
|
if len(e.Message) > 0 {
|
|
builder.WriteString(e.Message)
|
|
} else {
|
|
builder.WriteString("未知原因")
|
|
}
|
|
return builder.String()
|
|
}
|