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:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
## 如何贡献代码
|
## 如何贡献代码
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user