Go 関数でのエラー処理の主な方法には、エラーを表すエラー タイプの使用、パニック (回復不可能なエラーの場合) とリターン (処理可能なエラーの場合) の区別、組み込みツール (error.Error、fmt. Errorf およびエラー パッケージ) によるエラー追跡用。関数呼び出し情報のログ記録と追加により、エラーの可観測性が向上します。
# Go 言語関数のエラー処理と追跡の可観測性エラー処理
error
Go のエラーは、組み込みの 型で表されます。 -in インターフェイス。このインターフェイスを実装する型はエラーを表す可能性があります。 パニックとリターン
を使用し、回復不可能なエラーが発生した場合にのみ panic
を使用することをお勧めします。 エラー追跡
組み込み
error.Error
エラーの文字列表現は、fmt.Errorf
は、エラー メッセージをフォーマットし、新しい
errorerrors
は、
errors.New()errors などの組み込みエラーの種類と関数のセットを提供します。 .Unwrap( ) を使用してエラー処理を強化します。
実践: エラーの追跡とログ記録
import ( "fmt" "log" ) func main() { // 模拟函数调用链: msg, err := readData() if err != nil { // 创建包装器错误,包含函数调用信息 err = fmt.Errorf("readData: %w", err) // 记录错误 log.Printf("Error occurred: %v", err) return } // 处理数据 fmt.Println(msg) } func readData() (string, error) { // 模拟从文件中读取数据 return "", fmt.Errorf("read file error") }
fmt.Errorf
メッセージをラップし、関数呼び出し情報を追加します。
log.Printf
結論以上がGolang 関数のエラー処理と可観測性の追跡の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。