2012-05-24 82 views
1

我有這個功能上:調用一個成員函數getPageTitle()非對象我

 function getTitle(){ 
    $crawler = new DOM_Crawler($this->url); 
      try{ 
      if ($title = $crawler->getPage()->getPageTitle()) { 
       $this->debug_element("title", $title); 
       unset($crawler); 
       return $title; 
      } else { 
       unset($crawler); 
       return self::TITLE_FETCH_WARN; 
      } 
      } 
      catch(Exception $e){ 
       return self::TITLE_FETCH_WARN; 
      } 
} 

我試圖阻止crawler..be非對象和防止錯誤被拋出。試着去捕捉......我怎樣才能抓住這個例外?

Fatal error: Call to a member function getPageTitle() on a non-object in C:\Program Files (x86)\Zend\Apache2\htdocs\backlinks\cron\Backlinks.php on line 163

+0

檢查$履帶非空? –

+1

嗯..還有一種方法來使用它與嘗試和catch..why在dot.net嘗試/捕獲工程..和在PHP它doesnt ..他們包括嘗試一次捕捉,如果它失敗.. whats點 –

回答

2

嘗試

$page = $crawler->getPage(); 
if ($page && ($title = $page->getPageTitle())) { 
+0

感謝它幫助 –

+0

@DmitryMakovetskiyd,嘗試趕上不要'致命錯誤',當你調用變量= null時,你會引發致命錯誤。爲了捕獲'致命錯誤',你需要在php.net上尋找'錯誤處理' – Sergey

相關問題