方是错误封装

jys 849af4d77f 增加为错误增加堆栈的函数 1 year ago
.gitignore 03d44ca379 v2 alpha 1 year ago
LICENSE 03d44ca379 v2 alpha 1 year ago
README.md 9eb64662c6 去除部分panic校验 1 year ago
center.go 849af4d77f 增加为错误增加堆栈的函数 1 year ago
center_test.go 810860690e 去除旧版本代码 1 year ago
code.go 810860690e 去除旧版本代码 1 year ago
code_test.go 810860690e 去除旧版本代码 1 year ago
compatible.go 849af4d77f 增加为错误增加堆栈的函数 1 year ago
errors.go 810860690e 去除旧版本代码 1 year ago
errors_test.go 810860690e 去除旧版本代码 1 year ago
go.mod 849af4d77f 增加为错误增加堆栈的函数 1 year ago
go.sum 849af4d77f 增加为错误增加堆栈的函数 1 year ago
option.go 810860690e 去除旧版本代码 1 year ago
option_test.go 810860690e 去除旧版本代码 1 year ago
public.go 849af4d77f 增加为错误增加堆栈的函数 1 year ago
public_test.go 849af4d77f 增加为错误增加堆栈的函数 1 year ago
stack.go 810860690e 去除旧版本代码 1 year ago

README.md

fserr

方是错误封装

v2alpha版本更新

特性

  1. 采用6位错误码定位具体错误类型,并根据错误类型给出更加具体的错误信息;
  2. 用户无感知的栈信息;
  3. 兼容主流错误风格及api,高度可替换性。

快速开始

package main

import (
	"fmt"
	"git.sxidc.com/service-supports/fserr/v2alpha"
)

const (
	ErrProjectNotExist = iota + 201
)

func init() {
	// 设置服务码
	fserr.SetAppCode(10)

	// fserr包内置错误码
	fserr.NewOK(fserr.ErrDb, "处理失败,请联系开发人员")

	// 业务模块错误
	fserr.NewOK(ErrProjectNotExist, "项目不存在")
}

func Add() error {
	return fserr.WithCode(nil, ErrProjectNotExist)
}

func main() {
	err := Add()
	if err != nil {
		fmt.Printf("%+v\n", fserr.ParseCode(err))
		return
	}
}