Продолжить сценарий после исключения PHP

Я использую PDFParser и обнаруживаю исключение, которое нарушает мой сценарий, даже если я помещаю его в try/catch блок, как показано ниже. Смысл, исключение получает echoЭд но "Caught exception: " часть нет. Я думал, что это именно то, что try/catch был для?

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

Комментарии к GitHub не решают эту проблему, поэтому я подумал, что ТАК может помочь.

0 ответов

Я также столкнулся с той же проблемой отсутствия фатальной ошибки каталога.

Я попытался попробовать, бросить и поймать, и теперь я не получаю ни одной недостающей ошибки каталога. Ниже приведен код, где я применил try, throw и catch:

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';
}
}

Удачи!!

Другие вопросы по тегам