Go

エラー処理

Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover

20 面接問題·
Junior
1

Goでエラーを表現するために使われるインターフェースは何ですか?

回答

error インターフェースは、Goでエラー状態を表現するための定義済みインターフェースです。エラーを説明する文字列を返す Error() メソッドを1つだけ持ちます。nil 値はエラーがないことを表します。これは標準ライブラリのすべてのパッケージとGo開発者がエラーを通知・伝播するために使う慣習的なインターフェースです。

2

Goで静的なメッセージを持つシンプルなエラーを作成するにはどうしますか?

回答

errors パッケージの errors.New() 関数は、静的なメッセージを持つシンプルなエラーを作成します。指定されたメッセージで error インターフェースを実装した error 型を返します。このアプローチは、sentinel エラー(os.ErrNotExist のような定義済みエラー)や動的なコンテキストのないシンプルなエラーを作成するのに推奨されます。動的なメッセージには fmt.Errorf() を使用します。

3

動的にフォーマットされたメッセージを持つエラーを作成できる関数はどれですか?

回答

fmt.Errorf() 関数は、フォーマット動詞(%s、%d、%v など)を使って動的にフォーマットされたメッセージを持つエラーを作成します。また、既存のエラーをラップするための特別な動詞 %w もサポートし、後で検査できるようにエラーチェーンを保持します。これは、元のエラーを保持しながらエラーにコンテキストを追加するための推奨される方法です。

4

fmt.Errorf() でエラーをラップできるフォーマット動詞はどれですか?

5

ラップされたエラーが特定のエラーと一致するかを確認できる関数はどれですか?

+17 面接問題

次の面接に向けてGoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める