Я использую PDFParser и встречает выброшенное исключение, которое нарушает мой сценарий, даже если я помещаю его в try/catch
блок, как показано ниже. Смысл, исключение получает echo
Эд но "Caught exception: "
часть нет. Я думал, что это именно то, что try/catch
был для?
try {
$text = $pdf->getText();
}
catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
комментарии к выпуску github не решайте эту проблему, поэтому я подумал, что ТАК может помочь.
Я также столкнулся с той же проблемой отсутствия фатальной ошибки каталога.
Я попытался попробовать, бросить и поймать, и теперь я не получаю ни одной недостающей ошибки каталога.
Ниже приведен код, где я применил 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';
}
}
Удачи!!
Других решений пока нет …