Salut,
J'ai une question sur l'utilisation de try catch imbriqués lors d'opération PDO sur une bdd.
Le code est schématique mais le principe est là:
Code :
- try{
- //insertion PDO dans la table1;
- $table1->insert($args);
- $lastid=$db->lastInsertId();
- try{
- //update PDO dans la table 1
- //update PDO dans la table 2
- }
- catch(Exception $e){
- //CODE ERREUR2: erreur de l'update d'une(ou des deux) table 1/2
- $table1->delete($lastid);
- echo 'Une erreur 2 s\'est produite';
- }
- }
- catch(Exception $e){
- //CODE ERREUR1: Une erreur s'est produite lors de l'insertion dans la table 1
- echo 'Une erreur 1 s\'est produite';
- }
|
L'idée est d'effectuer des opérations dépendantes entre-elles (une opération ne peut s'effectuer que si la précédent s'est bien déroulée) sur une bdd sans arrêt en cas d'erreur à l'une d'elles et avec la possibilité de déterminer quelle opération à lancé l'exception;
Voila, je cherche à savoir si mon pseudo-code n'est pas bon, alors quelle est la bonne méthode, sachant que mon pseudo code représente deux imbrications mais qu'il peut y en avoir plus...
Merci à tous.
Message édité par durk le 11-06-2010 à 16:18:00