exp

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2021 License: MIT Imports: 5 Imported by: 0

README

exp

介绍

ngro 扩展的错误类型接口

使用说明
  1. 创建 exp

    // New 创建一个Code为819(DEFAULT_ERROR_CODE)的常规错误
    func New(message string) Exp 
    
    // NewF 创建一个Code为819(DEFAULT_ERROR_CODE)的常规错误
    func NewF(format string, args ...interface{}) Exp 
    
    // Code 创建一个包含自定义错误代码的错误
    func Code(code int, message string) Exp 
    
    // CodeF 创建一个包含自定义错误代码的错误
    func CodeF(code int, format string, args ...interface{}) Exp 
    
    // Wrap 创建一个包含自定义错误的错误,并包含引发此错误的原始错误
    func Wrap(cause error, code int, message string) Exp 
    
    // WrapF 创建一个包含自定义错误的错误,并包含引发此错误的原始错误
    func WrapF(cause error, code int, format string, args ...interface{}) Exp 
    
  2. 使用 exp

    e := New(`exception`)
    
    e.Error()		// exception
    e.Code()		// 819
    
    e2 := Wrap(errors.New(`cause`), 888, `exception`)
    e2.Cause()		// {cause}
    
    
  3. 错误类型判断和堆栈信息

    // IsExp 校验 error 是否是对 Exp 的实现
    func IsExp(err error) bool
    
    // CallStack 获取当前调用堆栈
    // offset 指定从当前调用起需要忽略的堆栈
    func CallStack(offset ...int) []string
    
支持语言包的 Exp
// LExpCode 使用 exception/exp 的错误代码类型
type LExpCode int

// LCode 创建制定错误目录中特定错误代码的错误
// 	@base 错误目录 eg.: 8190100
//	@code 错误代码 eg.: 1
//	@fallbackMessage 查询多语言失败时的回滚提示消息
//	returns
//		@exp.Exp twig 中定义的错误类型
func LCode(base, code LExpCode, fallbackMessage string) Exp 

// LCodeF 创建制定错误目录中特定错误代码的错误
// 	@base 错误目录 eg.: 8190100
//	@code 错误代码 eg.: 1
//	@fallbackMessage 查询多语言失败时的回滚提示消息
//	@args
//	returns
//		@exp.Exp twig 中定义的错误类型
func LCodeF(base, code LExpCode, fallbackMessage string, args ...interface{}) Exp 

// LWrap 以已引发的错误创建制定错误目录中特定错误代码的错误
//	@cause 引发此错误的错误
// 	@base 错误目录 eg.: 8190100
//	@code 错误代码 eg.: 1
//	@fallbackMessage 查询多语言失败时的回滚提示消息
//	returns
//		@exp.Exp twig 中定义的错误类型
func LWrap(cause error, base, code LExpCode, fallbackMessage string) Exp 

// LWrapF 以已引发的创建制定错误目录中特定错误代码的错误
//	@cause 引发此错误的错误
// 	@base 错误目录 eg.: 8190100
//	@code 错误代码 eg.: 1
//	@fallbackMessage 查询多语言失败时的回滚提示消息
//	@args
//	returns
//		@exp.Exp twig 中定义的错误类型
func LWrapF(cause error, base, code LExpCode, fallbackMessage string, args ...interface{}) Exp 
通过Log记录并返回这个错误,用于减少冗余代码
// LogError 以指定错误等级记录并返回一个错误
func LogError(l log.Logger, lvl log.Level, err error) Exp

// DebugError 记录调试日志,并返回错误
func DebugError(l log.Logger, err error) Exp 

// WarnError 记录警告日志,并返回错误
func WarnError(l log.Logger, err error) Exp 

// ErrError 记录错误日志,并返回错误
func ErrError(l log.Logger, err error) Exp 

// FatalError 记录致命日志,并返回错误,同时终止抛出异常
func FatalError(l log.Logger, err error) Exp

Documentation

Overview

Package exp 定义 ngro 扩展的错误类型接口 与内置error的不同点

	1、在于多提供错误代码 code,用于后续的帮助文档
 2、通过原始 error,创建 exp 来包装原始错误

Index

Constants

View Source
const (
	// DEFAULT_ERROR_CODE ��默认错误代码
	DEFAULT_ERROR_CODE = 819
)

Variables

This section is empty.

Functions

func CallStack

func CallStack(offset ...int) []string

CallStack 获取当前调用堆栈 offset 指定从当前调用起需要忽略的堆栈

func IsExp

func IsExp(err error) bool

IsExp 校验 error 是否是对 Exp 的实现 即判断错误是否是 ngro 扩展的自定义错误,以处理后续对Code处理的依赖

Types

type Exp

type Exp interface {
	// Error 继承原始 error 接口,方便转换到 error
	Error() string
	// Code 返回错误关联的错误代码
	Code() int
	// Cause 返回引发错误的原始 error
	Cause() error
}

Exp 描述 ngro 扩展的错误接口

func Code

func Code(code int, message string) Exp

Code 创建一个包含自定义错误代码的错误

func CodeF

func CodeF(code int, format string, args ...interface{}) Exp

CodeF 创建一个包含自定义错误代码的错误

func DebugError added in v0.1.1

func DebugError(l log.Logger, err error) Exp

DebugError 记录调试日志,并返回错误

func ErrError added in v0.1.1

func ErrError(l log.Logger, err error) Exp

ErrError 记录错误日志,并返回错误

func FatalError added in v0.1.1

func FatalError(l log.Logger, err error) Exp

FatalError 记录致命日志,并返回错误,同时终止抛出异常

func LCode added in v0.1.1

func LCode(base, code LExpCode, fallbackMessage string) Exp

LCode 创建制定错误目录中特定错误代码的错误

@base 错误目录 eg.: 8190100
@code 错误代码 eg.: 1
@fallbackMessage 查询多语言失败时的回滚提示消息
returns
	@exp.Exp twig 中定义的错误类型

func LCodeF added in v0.1.1

func LCodeF(base, code LExpCode, fallbackMessage string, args ...interface{}) Exp

LCodeF 创建制定错误目录中特定错误代码的错误

@base 错误目录 eg.: 8190100
@code 错误代码 eg.: 1
@fallbackMessage 查询多语言失败时的回滚提示消息
@args
returns
	@exp.Exp twig 中定义的错误类型

func LWrap added in v0.1.1

func LWrap(cause error, base, code LExpCode, fallbackMessage string) Exp

LWrap 以已引发的错误创建制定错误目录中特定错误代码的错误

@cause 引发此错误的错误
@base 错误目录 eg.: 8190100
@code 错误代码 eg.: 1
@fallbackMessage 查询多语言失败时的回滚提示消息
returns
	@exp.Exp twig 中定义的错误类型

func LWrapF added in v0.1.1

func LWrapF(cause error, base, code LExpCode, fallbackMessage string, args ...interface{}) Exp

LWrapF 以已引发的创建制定错误目录中特定错误代码的错误

@cause 引发此错误的错误
@base 错误目录 eg.: 8190100
@code 错误代码 eg.: 1
@fallbackMessage 查询多语言失败时的回滚提示消息
@args
returns
	@exp.Exp twig 中定义的错误类型

func LogError added in v0.1.1

func LogError(l log.Logger, lvl log.Level, err error) Exp

LogError 以指定错误等级记录并返回一个错误

func New

func New(message string) Exp

New 创建一个Code为819(DEFAULT_ERROR_CODE)的常规错误 如需要自定义错误代码,请使用 exp.Code

func NewF

func NewF(format string, args ...interface{}) Exp

NewF 创建一个Code为819(DEFAULT_ERROR_CODE)的常规错误 如需要自定义错误代码,请使用 exp.CodeF

func WarnError added in v0.1.1

func WarnError(l log.Logger, err error) Exp

WarnError 记录警告日志,并返回错误

func Wrap

func Wrap(cause error, code int, message string) Exp

Wrap 创建一个包含自定义错误的错误,并包含引发此错误的原始错误

func WrapF

func WrapF(cause error, code int, format string, args ...interface{}) Exp

WrapF 创建一个包含自定义错误的错误,并包含引发此错误的原始错误

type LExpCode added in v0.1.1

type LExpCode int

LExpCode 使用 exception/exp 的错误代码类型

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL