Re: messager d erreur
Le Wed, 18 Jul 2007 19:26:15 +0000, FF a écrit:
> bonjou tous
>
> je viens de m'acheter le delphi php ....... :-Z
>
> je réalise un simple formulaire .... sympa la conception .... B-)
>
> je mets en ligne et lorsque je clique sur le bouton j'ai le message
> suivant ;
>
> Application raised an exception class Exception with message 'The Input
> Filter PHP extension is not setup on this PHP installation, so the
> contents returned by Input is *not* filtered' Callstack #0 File:
> /var/www/vhosts/.../contact/index.php Line: 295
>
> la ligne 295 comporte cette commande generé par Dphp ; //Read from
> resource file
> $Index->loadResource(__FILE__);
>
> :/
> Vous avez une idée d'ou je me goure ???
>
> merci de votre aide
Bonjour,
Je ne remettrai pas l'excellente réponse de Sebastian!
Cependant, vous avez à faire à une exception... et comme le terme se
décrit de lui même, une exception n'est pas une erreur fatale. Ainsi, il
est implémenté/implémentable dans PHP un gestionnaire d'exceptions par le
duo try ... catch ..., ce qui permet d'adapter le comportement de
l'application en fonction des exceptions rencontrées (certains diront
levées), et ainsi évitera à l'application de "planter" du fait que
l'exception n'a pas été gérée.
Prenez alors l'habitude de cerner les exceptions possibles lorsque vous
utilisez des modules qui les utilisent car vous ferez lamentablement
planter votre programme dès que la configuration du moteur/extensions PHP
ou du serveur web change et que les exceptions dépendent de celles-ci. Ce
qui implique "Je prends les deux ou trois prochaines journées à débugger
ce #*!%*@ de programme qui marchait avant mais qui marche plus
maintenant!" alors que les développeurs avaient prévus les changements,
mais pas vous...
Donc pour l'utilisation de try ... catch ...
<?php
$je_me_fiche_du_filtre_d_entree = true;
try
{
$Index->loadResource(__FILE__);}
}
catch (Exception $e)
{
// On verifie déjà que l'exception concerne le fitre d'entree et
// le module utilisé en général (pour ça, il aurait été sympa de
// la part de Borland de décliner la classe Exception en une
// classe nommée plus significative...
if ($je_me_fiche_du_filtre_d_entree)
{
// on ne fait rien, ça n'a pas d'importance.
}
else
{
// Le filtre d'entrée est indispensable, il faut alerter
// la terre entière pour que l'administrateur l'installe.
throw $e;
}
}
?>
En espérant que ça vous aide aujourd'hui et demain.
Julien
|