GoFrame 的 gerror 包内置了一些常用的错误码,可以在错误处理中使用。这些错误码被定义为常量,并且在 gerror 包中有对应的常量,方便开发者使用。

以下是一些常见的内置错误码:

1. 通用错误码:
   const (
       CODE_SUCCESS         = 0     // 操作成功
       CODE_FAIL            = 1000  // 操作失败
       CODE_NOT_FOUND       = 1001  // 未找到记录
       CODE_SERVER_ERROR    = 500   // 服务器内部错误
       CODE_CLIENT_CLOSED   = 499   // 客户端关闭连接
       CODE_REQUEST_REFUSED = 403   // 请求被拒绝
   )

2. HTTP 错误码:
   const (
       CODE_HTTP_METHOD_NOT_ALLOWED = 405 // HTTP方法不允许
       CODE_HTTP_REQUEST_ERROR      = 400 // HTTP请求错误
   )

这些内置错误码可以在你的应用程序中直接使用,无需额外定义。例如:
package main

import (
"fmt"
"github.com/gogf/gf/errors/gerror"
)

func main() {
err := businessLogic()
if err != nil {
// 获取错误消息
fmt.Println("Error:", err.Error())

// 获取错误码
code := gerror.Code(err)
fmt.Println("Error Code:", code)

// 判断是否包含特定错误码
if gerror.HasCode(err, gerror.CODE_NOT_FOUND) {
fmt.Println("Handling not found error")
}
}
}

func businessLogic() error {
// 模拟一个未找到记录的错误
err := gerror.New("Record not found").Code(gerror.CODE_NOT_FOUND)
return err
}

在这个例子中,businessLogic 函数返回一个使用内置的 CODE_NOT_FOUND 错误码的错误对象。在 main 函数中,我们捕获并处理了错误,通过 gerror.Code 获取错误码,并通过 gerror.HasCode 判断是否包含特定的错误码。

这样,使用内置错误码可以使错误处理更加标准化,减少手动定义错误码的工作。在实际应用中,你可以根据具体的业务逻辑选择合适的错误码。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7569/GoFrame