1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-12 08:42:29 +08:00

test&doc: add example and update doc for xerror package

This commit is contained in:
dudaodong
2023-01-08 20:36:17 +08:00
parent 936011dc3b
commit 7380721ccc
5 changed files with 29 additions and 4 deletions

View File

@@ -1144,7 +1144,10 @@ import "github.com/duke-git/lancet/v2/xerror"
#### Function list: #### Function list:
- [Unwrap](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#Unwrap) - **<big>Unwrap</big>** : check if err is nil then it returns a valid value. If err is not nil, Unwrap panics with err.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#Unwrap)]
[[play](https://go.dev/play/p/w84d7Mb3Afk)]
## How to Contribute ## How to Contribute

View File

@@ -1155,6 +1155,11 @@ import "github.com/duke-git/lancet/v2/xerror"
#### 函数列表: #### 函数列表:
- **<big>Unwrap</big>** : 检查error, 如果err为nil则展开则它返回一个有效值如果err不是nil则Unwrap使用err发生panic。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#Unwrap)]
[[play](https://go.dev/play/p/w84d7Mb3Afk)]
- [Unwrap](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#Unwrap) - [Unwrap](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#Unwrap)
## 如何贡献代码 ## 如何贡献代码

View File

@@ -46,12 +46,20 @@ import (
) )
func main() { func main() {
result1 := xerror.Unwrap(strconv.Atoi("42"))
fmt.Println(result1)
_, err := strconv.Atoi("4o2") _, err := strconv.Atoi("4o2")
defer func() { defer func() {
v := recover() v := recover()
fmt.Println(err.Error()) // err.Error() == v.(*strconv.NumError).Error() result2 := reflect.DeepEqual(err.Error(), v.(*strconv.NumError).Error())
fmt.Println(result2)
}() }()
xerror.Unwrap(strconv.Atoi("4o2")) xerror.Unwrap(strconv.Atoi("4o2"))
// Output:
// 42
// true
} }
``` ```

View File

@@ -28,7 +28,7 @@ import (
### <span id="Unwrap">Unwrap</span> ### <span id="Unwrap">Unwrap</span>
<p>如果err为nil则展开则它返回一个有效值如果err不是nil则Unwrap使用err发生恐慌。</p> <p>检查error, 如果err为nil则展开则它返回一个有效值如果err不是nil则Unwrap使用err发生panic。</p>
<b>函数签名:</b> <b>函数签名:</b>
@@ -46,12 +46,20 @@ import (
) )
func main() { func main() {
result1 := xerror.Unwrap(strconv.Atoi("42"))
fmt.Println(result1)
_, err := strconv.Atoi("4o2") _, err := strconv.Atoi("4o2")
defer func() { defer func() {
v := recover() v := recover()
fmt.Println(err.Error()) // err.Error() == v.(*strconv.NumError).Error() result2 := reflect.DeepEqual(err.Error(), v.(*strconv.NumError).Error())
fmt.Println(result2)
}() }()
xerror.Unwrap(strconv.Atoi("4o2")) xerror.Unwrap(strconv.Atoi("4o2"))
// Output:
// 42
// true
} }
``` ```

View File

@@ -6,6 +6,7 @@ package xerror
// Unwrap if err is nil then it returns a valid value // Unwrap if err is nil then it returns a valid value
// If err is not nil, Unwrap panics with err. // If err is not nil, Unwrap panics with err.
// Play: https://go.dev/play/p/w84d7Mb3Afk
func Unwrap[T any](val T, err error) T { func Unwrap[T any](val T, err error) T {
if err != nil { if err != nil {
panic(err) panic(err)