# Xerror xerror 错误处理逻辑封装
## 源码: - [https://github.com/duke-git/lancet/blob/main/xerror/xerror.go](https://github.com/duke-git/lancet/blob/main/xerror/xerror.go)
## 用法: ```go import ( "github.com/duke-git/lancet/v2/xerror" ) ```
## 目录 - [Unwrap](#Unwrap)
## 文档 ### Unwrap

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

函数签名: ```go func Unwrap[T any](val T, err error) T ``` 示例: ```go 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 } ```