ネットワーク呼び出しのタイムアウト エラーを処理する
信頼性の高いネットワーク インタラクションを確保するには、タイムアウト エラーを効果的に処理することが重要です。このガイドでは、特に Web サービス呼び出し中のタイムアウトの検出に焦点を当てています。
提供されたコードは、Timeout 構造体を利用して、接続の確立と読み取り/書き込み操作のタイムアウトを設定します。 HttpClient 関数は、指定されたタイムアウトを使用するようにトランスポートが構成された HTTP クライアントを作成します。
ただし、タイムアウト エラーの特定の検出には、errors.Is 関数を使用して os.ErrDeadlineExceeded を識別できます。
// If the deadline is exceeded a call to Read or Write or to other // I/O methods will return an error that wraps os.ErrDeadlineExceeded. // This can be tested using errors.Is(err, os.ErrDeadlineExceeded). // The error's Timeout method will return true, but note that there // are other possible errors for which the Timeout method will // return true even if the deadline has not been exceeded. if errors.Is(err, os.ErrDeadlineExceeded) { // Handle timeout error }
または、net.Error に準拠するタイムアウトについては、次のチェックを行うことができます。使用:
if err, ok := err.(net.Error); ok && err.Timeout() { // Handle timeout error }
これらのメソッドを使用すると、タイムアウト エラーを効果的に検出して処理し、Web サービスとの信頼できる通信を確保できます。
以上がWebサービス呼び出しのタイムアウトエラーを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。