Question sur le mot clé throw

Mammouth du PHP | 1511 Messages

23 sept. 2006, 19:28

Bonsoir a tous,
je code actuellement une classe de templates et il m'est apparu un petit problème qui me gene un tantinet.
J'ai fait la chose suivante:
<?php
$this->content = file_get_contents('design/guides/'.$template_name.'.tpl') or throw new exeption('Impossible d\'ouvrir '.$template_name.'.tpl');
?>
Mais j'ai un joli "Erreur de l'analyseur : syntax error, unexpected T_THROW (ligne 27)" qui m'est renvoyé par Zend Studio, donc je me pose la question, quelle est la syntaxe correcte dans le cas suivant car mon throw ne semble pas être bien placé...
Merci d'avance :)

Mammouth du PHP | 19672 Messages

23 sept. 2006, 20:32

La syntaxe appropriée serait en effet :
<?php
if(false == ($this->content = file_get_contents('design/guides/'.$template_name.'.tpl')))
{
    throw new Exception('Impossible d\'ouvrir '.$template_name.'.tpl');
}
?>
Et je te signale que si tu utilise la classe intégrée d'exception PHP5, c'est "Exception" et non "exeption".

Ceci dit, je te suggère un tour dans la doc sur la gestion des exceptions il y a des exemple de code fort instructifs
Modifié en dernier par Cyrano le 23 sept. 2006, 20:36, modifié 1 fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1511 Messages

23 sept. 2006, 20:36

Ok, merci cyrano, j'ai encore quelques problèmes avec ces classes integrées...
PHP5 m'est encore un peu flou sur certains points...
@+ ;)