PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

エラー処理 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

エラー処理

エラー処理 – Services_Ebay のエラー処理

Services_Ebay の例外

Services_Ebay は PHP 5 以降でのみ使用できるパッケージなので、 例外処理を行います。また、すべての例外の基底クラスは PEAR_Exception クラスとなっています。Services_Ebay が提供するあらゆる API コールで例外がスローされる可能性があります。 つまり、それらはすべて try/catch ブロックで囲んでおく必要があるということです。

例外の処理

<?php
require_once 'Services/Ebay.php';
    
// 認証データを渡します
$session Services_Ebay::getSession($devId$appId$certId);
$session->setToken($token);

// 新しいプロキシオブジェクトを作成します
$ebay = new Services_Ebay($session);
try {
    
// メソッドをコールします
    
echo $ebay->GeteBayOfficialTime();
} catch (
Exception $e) {
    echo 
"問題が発生しました。";
    echo 
$e;
}
?>

存在しない API をコールしたり、API に渡すパラメータを間違えたりした場合は、 eBay は API コールを中断し、エラー情報を含む XML ドキュメントを返します。 Services_Ebay は自動的にこれを例外に変換し、 PHP アプリケーションで簡単に処理できるようにします。

Services_Ebay の警告

時には、無効なパラメータが渡されたとしても eBay API がリクエストの処理を続行する場合もあります。そのような場合は、 結果の XML ドキュメントの中にはリクエストに対する応答と エラー情報が両方含まれます。

このような場合、そのエラーは警告として扱われます。 これらは深刻なエラーではないからです。Services_Ebay は、 これらのエラーを例外ではなく Services_Ebay_Error のインスタンスに変換します。このオブジェクトは Services_Ebay_Session に保存され、 アプリケーション側で後から取得できるようになります。

警告の処理

<?php
require_once 'Services/Ebay.php';
    
// 認証データを渡します
$session Services_Ebay::getSession($devId$appId$certId);
$session->setToken($token);

// 新しいプロキシオブジェクトを作成します
$ebay = new Services_Ebay($session);
try {
    
// メソッドをコールします
    
echo $ebay->GeteBayOfficialTime();
} catch (
Exception $e) {
    
// 例外を無視し、警告を処理します。
}

$errors $session->getErrors();
if (
count($errors) == 0) {
    echo 
"エラーや警告はありません。\n";
} else {
    foreach (
$errors as $error) {
        
printf("%s: %s (%d))\n"$error->getSeverity(), $error->getLongMessage(), $error->getCode());
    }
}
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「エラー処理」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | エラー処理」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: