Go 言語のエラーハンドリングの熟練度

Beginner

This tutorial is from open-source community. Access the source code

はじめに

panic 実験は、Go 言語で予期しないエラーを処理する能力をテストするために設計されています。

パニック

この実験では、通常の操作中に発生すべきではないエラー、または適切に処理できないエラーが発生した場合に、panic 関数を使用して迅速にエラーを検出する必要があります。

  • Go 言語の基本的な知識
  • Go 言語におけるエラー処理の熟知
  • Go 言語における panic 関数の理解
## このプログラムを実行すると、パニックが発生し、エラーメッセージとゴルーチンのトレースが表示され、非ゼロのステータスで終了します。

## `main` 関数内で最初のパニックが発生すると、プログラムは残りのコードに到達することなく終了します。新しい一時ファイルを作成しようとするプログラムを表示したい場合は、最初のパニックをコメントアウトしてください。
$ go run panic.go
panic: a problem

goroutine 1 [running]:
main.main() /.../panic.go:12 +0x47
...
exit status 2

## 一部の言語では例外を使って多くのエラーを処理するのとは異なり、Go 言語では可能な限りエラーを示す戻り値を使うことが慣例です。

以下が完全なコードです。

// `panic` は通常、予期せぬエラーが発生したことを意味します。主に、通常の操作中に発生すべきではないエラー、または適切に処理できないエラーが発生した場合に、迅速にエラーを検出するために使用します。

package main

import "os"

func main() {

    // このサイト全体で `panic` を使用して、予期せぬエラーをチェックします。これは、パニックを起こすように設計されたサイト内の唯一のプログラムです。
    panic("a problem")

    // `panic` の一般的な使い方は、関数がエラー値を返してもそれをどのように処理するか(または処理したいか)わからない場合に、処理を中止することです。ここでは、新しいファイルを作成する際に予期せぬエラーが発生した場合に `panic` する例を示しています。
    _, err := os.Create("/tmp/file")
    if err!= nil {
        panic(err)
    }
}

まとめ

この実験では、Go 言語において予期しないエラーを処理するために panic 関数をどのように使用するかを学びました。必要な場合にのみ panic を使用し、可能な限り適切にエラーを処理することを忘れないでください。