golang で文字列にエラーが発生する

WBOY
リリース: 2023-05-10 10:03:06
オリジナル
841 人が閲覧しました

Go 言語でのエラー処理は他の言語とは若干異なります。error 型は通常、関数の結果を表すために使用されます。関数の実行に失敗した場合は、エラー値が返されます。 Go 言語には例外メカニズムがなく、すべてのエラーは返されて処理される必要があります。エラーを処理する場合、多くの場合、エラー情報を文字列出力に変換したり、ログを書き込んだりする必要があります。

error 型を文字列に変換するには 2 つの方法があります。1 つは error インターフェイスの Error() メソッドを使用する方法、もう 1 つは # を使用する方法です。 ## fmt パッケージの Sprintf() 関数。

エラー インターフェイスの Error() メソッドを使用します

error このインターフェイスは、単一のメソッド Error() string を含む仕様です。これを実装します。インターフェイスのタイプはエラー状態を表します。このメソッドを使用して、エラーの文字列表現を取得できます。

サンプル コード:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(err.Error())
}
ログイン後にコピー

プログラム出力:

发生了一个错误
ログイン後にコピー
ログイン後にコピー

これは、

error 型を文字列型に変換します。

fmt.Sprintf() 関数を使用する

エラーを変換するには、

error インターフェイスの Error() メソッドを使用することに加えて、次のことができます。 も使用します。 fmt パッケージの Sprintf() 関数は、エラーを文字列出力にフォーマットします。

サンプル コード:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(fmt.Sprintf("%v", err))
}
ログイン後にコピー

プログラム出力:

发生了一个错误
ログイン後にコピー
ログイン後にコピー

ご覧のとおり、

fmt.Sprintf() 関数を使用した場合の出力エラーは、関数を使用した場合とは異なります。 エラー インターフェースの Error() メソッドは、同じエラー内容を出力します。

エラーをログに書き込む

エラー情報を出力するだけでなく、エラーをログ ファイルに書き込むこともできます。これにより、後のトラブルシューティングが容易になります。

サンプル コード:

package main

import (
    "errors"
    "log"
)

func main() {
    err := errors.New("发生了一个错误")
    log.Println("错误信息:", err)
}
ログイン後にコピー

プログラム出力:

2021/08/12 20:06:19 错误信息: 发生了一个错误
ログイン後にコピー

ご覧のとおり、

log# の Println() 関数を使用します。 ## package エラー情報をログ ファイルに書き込みます。 概要

Go 言語では、

error

型を文字列に変換する方法が 2 つあります。1 つは、error インターフェイス# を使用する方法です。 #fmt パッケージを使用した #Error() メソッドと Sprintf() 関数。同時に、トラブルシューティングを容易にするために、エラー情報をログ ファイルに書き込むこともできます。

以上がgolang で文字列にエラーが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート