|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : mars 2007 Messages : 221 ![]() |
Bonjour,
Comment gérez-vous vos exceptions et vos erreurs ? Pour ma part : - Je me débarrasse de la notion d'erreurs, en utilisant une fonction de callback appliquée à set_error_handler() qui va convertir l'erreur et la lancer comme une exception de type ErrorException. Je peux ainsi la "catcher" - Je place une fonction de callback pour set_exception_handler(), qui réagira comme une erreur critique (message basique dans l'environnement système). - Je fais un try/catch, là où l'erreur peut encore être traitée par le moteur d'affichage de mon application (message formaté dans l'environnement applicatif). Par contre ce que je trouve étrange dans mes développements, c'est que je n'ai jamais réellement besoin de catcher une exception personnalisée (pourquoi devrais-je avoir besoin de traiter une erreur plus spécifiquement qu'une autre ?). Est-ce normal ? J'ai l'impression que cela reflète une mauvaise exploitation du concept des exceptions ... Et vous, qu'en pensez-vous ? Comment faites-vous ? |
|
|
00
|
|
|
#2 | |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 10 ![]() |
Citation:
J'ai l’impression (malheureusement Déjà tu ne te "débarrasse pas des erreurs", y a celles-ci qui d'après la doc E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING qui sont pas concernées. Je trouve que le fait de remplacer le gestionnaire d'erreur par une levée d'exception à tout va est totalement inappropriée dans la plupart des cas, exception( ) faite des environnements très contraignants (ne me dit pas que tu fais de l'embarqué avec php...).Ensuite, la callback de set_exception_handler n'est exécutée qu'en cas d'exception levée qui n'a pas été catchée; Si tu redéfinit donc ce comportement par "une erreur critique" => Le cas typique qui apparait directement est une E_NOTICE qui est lancée en ErrorException et qui va réagir comme une erreur critique. Et enfin comment je fais? c'est une autre histoire... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com