enahnce(error):增强未成功完成操作的错误描述。
This commit is contained in:
parent
986562c2c2
commit
11bd661e79
|
@ -1,11 +1,130 @@
|
|||
package exceptions
|
||||
|
||||
type UnsuccessfulOperationError struct{}
|
||||
import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
func NewUnsuccessfulOperationError() *UnsuccessfulOperationError {
|
||||
return &UnsuccessfulOperationError{}
|
||||
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 (UnsuccessfulOperationError) Error() string {
|
||||
return "操作不成功。"
|
||||
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()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user