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

# 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() - Проверить, будут ли функции возвращать ошибки или выбрасывать исключения

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open