diff --git a/README.md b/README.md
index 2d3f2a3..1ded254 100644
--- a/README.md
+++ b/README.md
@@ -1187,31 +1187,43 @@ import "github.com/duke-git/lancet/v2/xerror"
#### Function list:
- **New** : creates a new XError pointer instance with message.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#New)]
+ [[play](https://go.dev/play/p/w4oWZts7q7f)]
- **Wrap** : creates a new XError pointer instance based on error object, and add message.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#Wrap)]
+ [[play](https://go.dev/play/p/5385qT2dCi4)]
- **Unwrap** : returns unwrapped XError from err by errors.As. If no XError, returns nil.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#Unwrap)]
+ [[play](https://go.dev/play/p/LKMLep723tu)]
- **XError_Wrap** : creates a new XError and copy message and id to new one.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Wrap)]
+ [[play](https://go.dev/play/p/5385qT2dCi4)]
- **XError_Unwrap** : Compatible with github.com/pkg/errors.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Unwrap)]
+ [[play](https://go.dev/play/p/VUXJ8BST4c6)]
- **XError_With** : adds key and value related to the XError object.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_With)]
+ [[play](https://go.dev/play/p/ow8UISXX_Dp)]
- **XError_Id** : sets XError object id to check equality in XError.Is.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Id)]
+ [[play](https://go.dev/play/p/X6HBlsy58U9)]
- **XError_Is** : checks if target error is XError and Error.id of two errors are matched.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Is)]
+ [[play](https://go.dev/play/p/X6HBlsy58U9)]
- **XError_Values** : returns map of key and value that is set by XError.With function.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Values)]
+ [[play](https://go.dev/play/p/ow8UISXX_Dp)]
- **XError_StackTrace** : returns stack trace which is compatible with pkg/errors.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_StackTrace)]
+ [[play](https://go.dev/play/p/6FAvSQpa7pc)]
- **XError_Info** : returns information of xerror, which can be printed.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Info)]
+ [[play](https://go.dev/play/p/1ZX0ME1F-Jb)]
- **XError_Error** : implements standard error interface.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#XError_Error)]
+ [[play](https://go.dev/play/p/w4oWZts7q7f)]
- **TryUnwrap** : check if err is nil then it returns a valid value. If err is not nil, TryUnwrap panics with err.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror.md#TryUnwrap)]
- [[play](https://go.dev/play/p/w84d7Mb3Afk)]
+ [[play](https://go.dev/play/p/acyZVkNZEeW)]
## How to Contribute
diff --git a/README_zh-CN.md b/README_zh-CN.md
index d14b66d..fa721b5 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -1199,31 +1199,43 @@ import "github.com/duke-git/lancet/v2/xerror"
- **New** : 创建XError对象实例。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#New)]
+ [[play](https://go.dev/play/p/w4oWZts7q7f)]
- **Wrap** : 根据error对象创建XError对象实例,可添加message。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#Wrap)]
+ [[play](https://go.dev/play/p/5385qT2dCi4)]
- **Unwrap** : 从error对象中解构出XError。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#Unwrap)]
+ [[play](https://go.dev/play/p/LKMLep723tu)]
- **XError_Wrap** : 创建新的XError对象并将消息和id复制到新的对象中。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Wrap)]
+ [[play](https://go.dev/play/p/5385qT2dCi4)]
- **XError_Unwrap** : 解构XEerror为error对象。适配github.com/pkg/errors。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Unwrap)]
+ [[play](https://go.dev/play/p/VUXJ8BST4c6)]
- **XError_With** : 添加与XError对象的键和值。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_With)]
+ [[play](https://go.dev/play/p/ow8UISXX_Dp)]
- **XError_Id** : 设置XError对象的id。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Id)]
+ [[play](https://go.dev/play/p/X6HBlsy58U9)]
- **XError_Is** : 检查目标error是否为XError,两个错误中的error.id是否匹配。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Is)]
+ [[play](https://go.dev/play/p/X6HBlsy58U9)]
- **XError_Values** : 返回由With设置的键和值的映射。将合并所有XError键和值。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Values)]
+ [[play](https://go.dev/play/p/ow8UISXX_Dp)]
- **XError_StackTrace** : 返回与pkg/error兼容的堆栈信息。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_StackTrace)]
+ [[play](https://go.dev/play/p/6FAvSQpa7pc)]
- **XError_Info** : 返回可打印的XError对象信息。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Info)]
+ [[play](https://go.dev/play/p/1ZX0ME1F-Jb)]
- **XError_Error** : 实现标准库的error接口。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#XError_Error)]
+ [[play](https://go.dev/play/p/w4oWZts7q7f)]
- **TryUnwrap** : 检查error, 如果err为nil则展开,则它返回一个有效值,如果err不是nil则Unwrap使用err发生panic。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/xerror_zh-CN.md#TryUnwrap)]
- [[play](https://go.dev/play/p/w84d7Mb3Afk)]
+ [[play](https://go.dev/play/p/acyZVkNZEeW)]
## 如何贡献代码
diff --git a/docs/xerror.md b/docs/xerror.md
index f282013..c185403 100644
--- a/docs/xerror.md
+++ b/docs/xerror.md
@@ -133,7 +133,7 @@ func main() {
err1 := xerror.New("error").With("level", "high")
wrapErr := errors.Wrap(err1, "oops")
- err := xerror.Unwrap(err1)
+ err := xerror.Unwrap(wrapErr)
values := err.Values()
fmt.Println(values["level"])
@@ -441,7 +441,7 @@ import (
)
func main() {
- err := New("error")
+ err := xerror.New("error")
fmt.Println(err.Error())
// Output:
diff --git a/docs/xerror_zh-CN.md b/docs/xerror_zh-CN.md
index ec35a23..f3c23bf 100644
--- a/docs/xerror_zh-CN.md
+++ b/docs/xerror_zh-CN.md
@@ -133,7 +133,7 @@ func main() {
err1 := xerror.New("error").With("level", "high")
wrapErr := errors.Wrap(err1, "oops")
- err := xerror.Unwrap(err1)
+ err := xerror.Unwrap(wrapErr)
values := err.Values()
fmt.Println(values["level"])
@@ -441,7 +441,7 @@ import (
)
func main() {
- err := New("error")
+ err := xerror.New("error")
fmt.Println(err.Error())
// Output: