La gestion des erreurs dans une Classe PHP
Hé là,
voici une question pour vous les gars.
J'ai donc beaucoup de temps à choisir une erreur de manipulation pour les classes en PHP.
Par Exemple en Ajax, PHP Manipulation de cours, je le fais de cette façon:
public function setError($msg) {
$this->errors[] = $msg;
}
public function isFailed() {
return (count($errors) > 0 ? true : false); //if errors > 0 the request is failed
}
public function getJsonResp() {
if($this->isFailed()) {
$resp = array('result' => false, 'message' => $this->errors[0]);
} else {
$resp = array('result' => true);
array_merge($resp, $this->success_data); //the success data is set later
}
return json_encode($resp);
}
//an example function for a execution of a method would be this
public function switchMethod($method) {
switch($method) {
case 'create':
if(!isset($param1, $param2)) {
$this->setError('param1 or param2 not found');
} else {
$this->createSomething();
}
break;
default:
$this->setError('Method not found');
}
}
Permet donc savez-vous ce que je veux aks pour:
Est-il une meilleure solution pour l'erreur de manipulation?
OriginalL'auteur 000 | 2011-02-13
Vous devez vous connecter pour publier un commentaire.
Quand il s'agit de la POO Votre meilleur pari est d'utiliser Exceptions pour gérer vos erreurs, par exemple:
de lever des exceptions au sein de votre classe et attraper les exceptions à l'extérieur des classes que de les jeter est la façon dont j'ai l'habitude de faire les choses.
Exemple D'Utilisation:
et votre
displayError
serait d'utiliser$e->getMessage()
que les informations relatives à l'erreur.Non, seulement où des erreurs peuvent se produire, dans la plupart des fonctions que vous pouvez compter si simple, si des instructions pour éviter les erreurs, comme la Division par zéro exceptions.
ok merci pour vous réponse
OriginalL'auteur RobertPitt
Généralement lors de la programmation dans la programmation orientée objet, vous réalisez des Exceptions comme votre "erreur" gestionnaire.
Voir http://php.net/exceptions
OriginalL'auteur John Cartwright