Re: php et exceptions

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: guilde
Sujet: Re: php et exceptions
Le mardi 12 février 2013, Anael a écrit :

> J'ai l'impression que tu mélanges quelques concepts de POO ;-)


Je ne crois pas, non. C'est juste que je ne comprend pas comment le
programme peut crasher dans un try/catch !!! Pour moi, y'a comme un
problème.

> Je pars du principe que le ->add() en question correspond bien à
> Datetime::add (http://php.net/manual/fr/datetime.add.php).
>
> Tu peux utiliser des méthodes sur des objets.
> $toto[$titi] ne contient pas d'objet, comme te l'indique l'erreur
> fatale. Si tu remontes d'un cran, tu vois que tu cherches l'indice
> '2012-12-11' dans ton tableau $toto ... et qu'il n'existe pas


Voui, tout à fait, puisque c'est la première fois qu'il le rencontre.

> (undefined index) ==> Ca crashe => exception


Ben, non, justement ! Ça crashe sans exception ! C'est là mon problème...

> Pour répondre à ta question : tu dois créer un objet de type dateTime
> dans ton array à l'indice voulu.


Voui, c'est ce que je fais dans le catch...

> Une fois que ton array sera "porteuse" de cet objet, tu pourras alors
> "appliquer" des méthodes à cet objet.
>
> Pour rester dans l'ioptique de la POO, je te conseille de passer à un
> ArrayObject au lieu de rester sur des array. Ca t'éviteras également ce
> genre de galères.


Ah, donc en php, on a des exceptions uniquement si on manipule des objets,
mais pas avec les autres 'entités' ? Une division par zéro, par exemple,
crash sans lever d'exception ?

--
Frédéric