PHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのエラー処理と例外キャプチャを実装します。
Baidu Wenxin Yiyan API は非常に人気のあるフレーズ生成インターフェイスであり、ランダムな文で、多くの興味深いフレーズや有名な引用を提供します。ただし、このインターフェイスを使用すると、リクエストのタイムアウトやエラー情報の返されなど、いくつかの問題が発生する場合があります。ユーザー エクスペリエンスを向上させるには、エラー処理関数と例外キャッチ関数をコードに追加して、プログラムの堅牢性と信頼性を高める必要があります。
まず、cURL 関数を使用してリクエストを送信し、インターフェースの戻り値を取得する必要があります。後続のエラー処理と例外キャプチャを容易にするために、このプロセスを関数にカプセル化します。
function getOneWord() { $url = 'https://v1.alapi.cn/api/word'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $result = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode == 200) { $result = json_decode($result, true); if ($result['code'] == 200) { return $result['data']['content']; } else { throw new Exception($result['msg']); } } else { throw new Exception('Request failed: ' . $httpCode); } }
上記のコードでは、cURL 関数を使用して GET リクエストを送信し、タイムアウトを 5 秒に設定します。リクエストが成功した場合 (戻りコードが 200)、返された JSON データを連想配列に解析して、コードが 200 であるかどうかを判断します。成功した場合は、コンテンツ フィールドをフレーズとして返します。それ以外の場合は、カスタム例外、例外をスローします。この情報は、インターフェイスから返されるエラー情報です。
ビジネス コードでは、try-catch ステートメントを使用してこの例外をキャッチし、対応するエラー処理を実行できます。
try { $oneWord = getOneWord(); echo '今日一句:' . $oneWord; } catch (Exception $e) { echo '获取短语失败:' . $e->getMessage(); }
上記のコードでは、getOneWord 関数を呼び出して文を取得します。取得に成功した場合はページに出力され、取得に失敗した場合はエラーメッセージが出力されます。
Exception クラスによってスローされた例外をキャッチすることに加えて、いくつかの例外クラスをカスタマイズして、さまざまなエラーを異なる方法で処理することもできます。たとえば、リクエストのタイムアウト状況を処理するために TimeoutException クラスを定義できます。
class TimeoutException extends Exception { public function __toString() { return '请求超时,请稍后重试。'; } } function getOneWord() { // ... if ($httpCode == 200) { // ... } else if ($httpCode == 28) { throw new TimeoutException(); } else { throw new Exception('Request failed: ' . $httpCode); } }
上記のコードでは、TimeoutException クラスを定義し、Exception クラスから継承し、__toString メソッドをオーバーライドして、カスタムエラーメッセージ。 getOneWord 関数では、リクエストがタイムアウトするとこの例外がスローされ、ビジネス コードで例外がキャプチャされ、それに応じて処理されます。
上記のエラー処理機能と例外キャッチ機能により、予期せぬ状況にうまく対処し、プログラムの安定性と信頼性を向上させることができます。実際の開発では、特定のニーズに応じてエラー処理と例外キャプチャのロジックを改良し、よりわかりやすいエラー情報と回復メカニズムを提供して、より良いユーザー エクスペリエンスを提供できます。
以上がPHP コードを使用して、Baidu Wenxin Yiyan API インターフェイスのエラー処理と例外キャプチャを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。