在抛出异常PHP

时间:2018-01-09 17:20:11

标签: php exception exception-handling try-catch pdfparser

我正在使用PDFParser并遇到抛出异常的抛出异常,即使我将其放在如下所示的try/catch块中也是如此。意思是,异常得到echo,但"Caught exception: "部分没有。我认为这正是try/catch的用途?

    try {
        $text = $pdf->getText();
    } 
    catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }

github issue comments没有解决这个问题所以我认为可以提供帮助。

1 个答案:

答案 0 :(得分:0)

我也面临着缺少目录致命错误的同样问题。

我尝试过尝试,抛出和捕捉,但是现在我没有遇到任何丢失的目录致命错误。 下面是我尝试,抛出和捕获的代码:

public function getPages()
      {
 try{   
      if (isset($this->dictionary['Catalog'])) {
      // Search for catalog to list pages.
      $id = reset($this->dictionary['Catalog']);

    /** @var Pages $object */
    $object = $this->objects[$id]->get('Pages');
    if (method_exists($object, 'getPages')) {
        $pages = $object->getPages(true);
        return $pages;
    }
}

if (isset($this->dictionary['Pages'])) {
    // Search for pages to list kids.
    $pages = array();

    /** @var Pages[] $objects */
    $objects = $this->getObjectsByType('Pages');
    foreach ($objects as $object) {
        $pages = array_merge($pages, $object->getPages(true));
    }

    return $pages;
}

if (isset($this->dictionary['Page'])) {
    // Search for 'page' (unordered pages).
    $pages = $this->getObjectsByType('Page');

    return array_values($pages);
}

throw new \Exception('Missing catalog.');
}
catch(\Exception $e)
{
$pages = '0';
}
}

祝你好运!