PHP 8.6.0 Beta 1 is available for testing

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptionsВключить или отключить генерацию исключений вместо возвращения ошибок

Описание

public static function RarException::setUsingExceptions(bool $using_exceptions): void

Если аргумент задан как true , то, вместо выдачи предупреждения и возврата ошибки, библиотека UnRAR будет выбрасывать исключение типа RarException в случае возникновения ошибки.

Также исключения будут выброшены в случае следующих ошибок, произошедших вне библиотеки (их код возврата должен быть равен -1):

  • попытка произведения действий с закрытым объектом RarArchive или объектом RarEntry относящегося к первому;
  • попытка извлечь отсутствующую запись с помощью RarArchive::getEntry() .

Список параметров

using_exceptions
true для активации генерации исключений, false для деактивации (по умолчанию).

Возвращаемые значения

Функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования RarException::setUsingExceptions()

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);
RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

Вывод приведённого примера будет похож на:

bool(false)
Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)
Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
 thrown in C:\php_rar\trunk\tests\test.php on line 8

Смотрите также

  • RarException::isUsingExceptions() - Проверить, будут ли функции возвращать ошибки или выбрасывать исключения

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /