エラー処理

エラー処理 – 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());
    }
}
?>
Services_Ebay の XML エンコーディング (Previous) Services_Ebay の構造 (Next)
Last updated: Tue, 25 Nov 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.