aboutsummaryrefslogtreecommitdiff
path: root/src/errors/example_test.go
diff options
context:
space:
mode:
authorJulien Cretel <jub0bsinthecloud@gmail.com>2025-09-29 16:57:53 +0000
committerDamien Neil <dneil@google.com>2025-09-30 10:22:08 -0700
commita846bb0aa523c8781248161b63bc2ab6a245cec1 (patch)
treec43a403c0e8fde2fd9c6019428cddc74710cf4e5 /src/errors/example_test.go
parent7c8166d02d36a5dfcdbe3dd1b148412cceacf9f2 (diff)
downloadgo-a846bb0aa523c8781248161b63bc2ab6a245cec1.tar.xz
errors: add AsType
Fixes #51945 Change-Id: Icda169782e796578eba728938134a85b5827d3b6 GitHub-Last-Rev: c6ff335ee1ffb6b7975141795a4632a55247299d GitHub-Pull-Request: golang/go#75621 Reviewed-on: https://go-review.googlesource.com/c/go/+/707235 Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Sean Liao <sean@liao.dev>
Diffstat (limited to 'src/errors/example_test.go')
-rw-r--r--src/errors/example_test.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/errors/example_test.go b/src/errors/example_test.go
index 278df8c7da..92ef36b101 100644
--- a/src/errors/example_test.go
+++ b/src/errors/example_test.go
@@ -102,6 +102,18 @@ func ExampleAs() {
// Failed at path: non-existing
}
+func ExampleAsType() {
+ if _, err := os.Open("non-existing"); err != nil {
+ if pathError, ok := errors.AsType[*fs.PathError](err); ok {
+ fmt.Println("Failed at path:", pathError.Path)
+ } else {
+ fmt.Println(err)
+ }
+ }
+ // Output:
+ // Failed at path: non-existing
+}
+
func ExampleUnwrap() {
err1 := errors.New("error1")
err2 := fmt.Errorf("error2: [%w]", err1)