1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-06 21:52:28 +08:00
Files
lancet/docs/xerror_zh-CN.md

1.1 KiB
Raw Blame History

Xerror

xerror错误处理逻辑封装

源码:

用法:

import (
    "github.com/duke-git/lancet/v2/xerror"
)

目录

文档

Unwrap

检查error, 如果err为nil则展开则它返回一个有效值如果err不是nil则Unwrap使用err发生panic。

函数签名:

func Unwrap[T any](val T, err error) T

例子:

package main

import (
    "fmt"
    "github.com/duke-git/lancet/v2/xerror"
)

func main() {
	result1 := xerror.Unwrap(strconv.Atoi("42"))
	fmt.Println(result1)

	_, err := strconv.Atoi("4o2")
	defer func() {
		v := recover()
		result2 := reflect.DeepEqual(err.Error(), v.(*strconv.NumError).Error())
		fmt.Println(result2)
	}()

	xerror.Unwrap(strconv.Atoi("4o2"))

	// Output:
	// 42
	// true
}