From 572e53aa14b6e8c3d704e3dac6c2fd3fa6930958 Mon Sep 17 00:00:00 2001 From: dudaodong Date: Thu, 16 Feb 2023 14:28:50 +0800 Subject: [PATCH] doc: add go playground demo for xerror package --- README.md | 14 +++++++++++++- README_zh-CN.md | 14 +++++++++++++- docs/xerror.md | 4 ++-- docs/xerror_zh-CN.md | 4 ++-- 4 files changed, 30 insertions(+), 6 deletions(-) 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: