ホームページ  >  記事  >  バックエンド開発  >  進む - エラー。カスタム エラー タイプを解凍できません

進む - エラー。カスタム エラー タイプを解凍できません

王林
王林転載
2024-02-09 16:45:18798ブラウズ

Go - 错误。无法解包自定义错误类型

php エディタ Xigua が紹介します: Go 言語では、カスタム エラー タイプを使用すると、「エラー。カスタム エラー タイプを解凍できません」という質問に遭遇することがあります。この問題は通常、カスタム エラー タイプを他の関数またはメソッドに渡そうとしたときに発生します。これは難しい問題のように思えるかもしれませんが、実際にはいくつかの方法があります。この記事では、この問題の原因を調査し、この問題の解決に役立つ解決策を提供します。

質問の内容

go stdlib パッケージのエラーを使用して、errors.as を使用してカスタム エラー タイプを解凍しようとしていますが、チェックが失敗しているようです。根本的なエラーを抽出できません。

再現可能な最小限の例を抽出しました:

リーリー

https://go.dev/play/p/i7bnk4-rdib - go プレイグラウンドの例。起動すると、予期される「ラップされていないラッピング」の代わりに「エラー: ラッピング」が出力されます。

errors.as ドキュメントの例は機能しますが、何が間違っているのか理解できないようです。*myerrorerrors.as に渡します。これは正しいようです (myerror を渡すとパニックが発生するため、target はゼロ以外のポインタ でなければなりませんが、これは想定どおりです)。

解決策

代わりに:

リーリー ###する:### リーリー

以上が進む - エラー。カスタム エラー タイプを解凍できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。