[PHP exception] ca marche pas
blo06
Messages postés
13
Statut
Membre
-
protote Messages postés 13 Statut Membre -
protote Messages postés 13 Statut Membre -
Bonjour,
j'essaye de gérer les erreurs notamment de problèmes d'ouverture de fichiers distants avec php, avec des blocs try et catch, mais ça marche pas :(
Par dépit, j'ai collé les exemples repris du manuel php, et j'ai toujours le même pb : ça bloque à la première accolade { après le try...
Si qq'un a une idée, c'est volontiers.
Merci
Blo
code d'ex :
j'essaye de gérer les erreurs notamment de problèmes d'ouverture de fichiers distants avec php, avec des blocs try et catch, mais ça marche pas :(
Par dépit, j'ai collé les exemples repris du manuel php, et j'ai toujours le même pb : ça bloque à la première accolade { après le try...
Si qq'un a une idée, c'est volontiers.
Merci
Blo
code d'ex :
<?php
try {
$error = 'Toujours lancer cette erreur';
throw new Exception($error);
// le code suivant une exception n'est pas exécuté.
echo 'Jamais exécuté';
}
catch (Exception $e) {
echo "Capture de l'exception : ", $e->getMessage(), "\n";
}
// Continue l'exécution
echo 'Bonjour le Monde !';
?> Configuration: Windows XP Firefox 1.5.0.11
8 réponses
-
Si le try/catch ne fonctionne pas c'est certainnement que vous êtes en php4 !
La gestion des exceptions n'a été introduite que depuis php5 -
Bonjour,
Les exceptions ne fonctionnent pas correctement en PHP 5.2 si E-ACCELERATOR est activé.
1) Veuilez essayer en le désactivant.
2) Vous pouvez utiliser xCache ou APC à la place de EACCELERATOR.
b -
salut.
Ca fait pareil moi pour mon code, ça ne fonctionne pas chez free.
Je pense que c'est une problème de version php ou un manquede librairie,
Je suis entrain de faire une recherche. -
Salut,
Le code fournit fonctionne parfaitement et affiche:
"Capture de l'exception : Toujours lancer cette erreur Bonjour le Monde !"
L'erreur est toujours declenche puisqu'elle est lance dans le bloc try.
Dans ce petit exemple, une exception est lancee que si la variable $a est a 0.
<?php
function hello()
{
$a = 0;
if( $a == 1 )
{
echo "a is true";
return true;
}
else
{
throw new Exception( "a is false" );
}
}
try
{
hello();
}
catch( Exception $e )
{
echo "caught exception: " . $e->getMessage();
}
?>
Gaetan Mathey
http://ww38.vmeste.fr/index.php?Seulement-lui_la-minute-geek&subid1=20200206-0403-50ca-b23a-796e1b647bba -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai le même problème,
est ce que quelqu'un a une solution ??
C'est bloquant quand on veut réutiliser des classes. -
-
et depuis ???
ça a avancé ???
car j'ai aujourd'hui (14 juin 2011) ce pb chez free ! et en local !!! comme quoi ça n'a rien à voir avec free !!! -
Voilà un tutoriel sur les exceptions en PHP :
http://www.finalclap.com/faq/325-php-exception-try-catch
Le mécanisme des exceptions n'existe que dans PHP 5, dans les versions antérieures (PHP4, PHP3) ça ne fonctionne pas. Tu peux vérifier ta version de php avec la fonction phpinfo().