実際のエラー ソースを示すスタック トレースの取得
Go プログラムでは、3 番目のエラーによって発生したエラーによってパニックが発生することがあります。パーティーライブラリー。ただし、デフォルトのスタック トレースでは、実際のエラーの原因ではなく、パニックが発生したポイントのみが提供されることがよくあります。
エラーの原因をさらに詳しく調べるために、error パッケージは解決策を提供します。 。 StackTrace メソッドを公開する stackTracer インターフェイスを実装することで、エラーを追加情報でラップできます。
type stackTracer interface { StackTrace() errors.StackTrace }
次のコードは、エラーをトレースする方法を示しています。元のソースへ:
func main() { value, err := some3rdpartylib.DoSomething() if err != nil { // Wrap the error with stack trace information err = errors.WithStack(err) panic(err) } }
不幸にもパニックが発生した場合、スタック トレースには以下が含まれます。エラーの実際の原因を明らかにし、開発者が根本原因を特定できるようにします。
さらに、サードパーティのライブラリによりエラー処理機能をさらに強化できます:
以上がサードパーティの Go ライブラリで発生したエラーをデバッグするために、より詳細なスタック トレースを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。