2012-08-09 37 views
2

我試圖查詢與電子郵件地址相匹配的帳戶的市場,以及何時無法找到結果,儘管我嘗試提高未捕獲的異常/ catch塊。平衡付款PHP客戶端:查詢結果觸發未捕獲的異常

try { 
    $vendor = $this->marketplace ->accounts ->query() 
       ->filter(Balanced\Account::$f->email_address->eq($this->vendor['email'])) 
       ->one(); 
    $this->balanced_vendor = $vendor; 
    return true; 
} catch (Balanced\Exceptions\HTTPError $e) { 
    $this->notify('no-vendor', $e); 
} 

我可能會做錯什麼?

謝謝!

+0

拋出什麼特定的異常類,它提供了什麼信息? – DCoder 2012-08-09 19:43:22

回答

1

貌似Balanced\Core\Query類從其one()方法,不Balanced\Exceptions\HTTPError拋出既Balanced\Exceptions\MultipleResultsFoundBalanced\Exceptions\NoResultFound。雖然

} catch (Balanced\Exceptions\MultipleResultsFound $e) { 
    // handle multiple results.. 
} catch (Balanced\Exceptions\NoResultsFound $e) { 
    $this->notify('no-vendor', $e); 
} 

從外觀上來看,你試圖使用Balanced\Exceptions\HTTPError作爲一個包羅萬象的,這可以被認爲是一個缺乏特點:

要立即解決的問題,您應該將catch指令改變的客戶。我所做的是,我已經爲您提交了一個Github issue,這表明所有異常都從基本的平衡異常繼承。

我希望這會有所幫助。

+0

這已經在balanced-php客戶端的0.6.5版中修復。 – mjallday 2012-08-10 15:13:02