(PECL rar >= 2.0.0)
RarException::setUsingExceptions — Active ou désactive les exceptions dans le gestionnaire d'erreurs
Si et seulement si l'argument vaut true
, alors, au lieu d'émettre des alertes
et de retourner des valeurs spéciales indiquant une erreur lors que la
bibliothèque UnRAR rencontre une erreur, une exception de type
RarException est émise.
Les exceptions seront également lancées pour les erreurs suivantes, qui surviennent en dehors de la bibliothèque (leurs codes erreurs seront -1) :
using_exceptions
Doit valoir true
pour active l'émission d'exceptions, false
pour le
désactiver (par défaut).
Aucune valeur n'est retournée.
Exemple #1 Exemple avec 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); //non atteint
?>
Résultat de l'exemple ci-dessus est similaire à :
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