der*_*eau 3 php namespaces exception php-5.3
使用 Facebook PHP SDK 时会发生此错误,但我实际上认为这是一个一般错误。
当我运行此代码时,一切正常并捕获异常:
$facebook = new Facebook('appId'=>APP_ID,'secret'=>APP_SECRET);
try {
$user_profile = $facebook->api('/me','GET');
echo "Name: " . $user_profile['name'];
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行这段代码时:
$facebook = new Facebook_Extended('appId'=>APP_ID,'secret'=>APP_SECRET);
$facebook->api_extended();
Run Code Online (Sandbox Code Playgroud)
扩展类的方法如下所示:
// Overrides parent::api()
public function api() {
try {
$user_profile = parent::api('/me','GET');
echo "Name: " . $user_profile['name'];
} catch(FacebookApiException $e) {
$login_url = $this->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
}
}
Run Code Online (Sandbox Code Playgroud)
我收到“未捕获的 OAuthException”错误。
任何想法为什么无法在子类中捕获异常?
我没有意识到这是一个问题,但是这个类在一个命名空间中,所以我需要在我的异常中添加一个“\”:
catch (\FacebookApiException $e)
Run Code Online (Sandbox Code Playgroud)
http://onehackoranother.com/logfile/2009/01/php-5-3-exception-gotcha
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |