Comment attraper et renvoyer toutes les erreurs dans MySQL

Je n'arrive pas à trouver n'importe où comment attraper et renvoyer des erreurs ou des avertissements qui peuvent se produire dans une procédure.

Ce que je veux, c'est la syntaxe pour effectuer les opérations suivantes:

create procedure myProcedure()
  begin

      declare exit handler for ANYTHING_WRONG_THAT_CAN_BE_CAUGHT_WARNINGS_INCLUDED
      begin
          rollback;
          RE_THROW THE_THING_THAT_WAS_CAUGHT;
      end;

      start transaction;
         -- do some stuff
      commit;
  end; //

La raison étant que je veux pour forcer un retour en arrière sur une erreur ou un avertissement, mais laisser le client décider quoi faire avec l'erreur spécifique.

Le all-cap zones sont les parties où je ne sais pas quoi mettre.

Merci pour toute aide!

Edit -------

J'ai appris depuis qu'il n'est pas possible de faire ce que j'ai demandé :'(.

La place, j'ai une erreur unique pour tout ce qui va mal et utilisé le code suivant:

declare exit handler for sqlwarning, sqlexception begin
    rollback;
    call error();
end;

(erreur() n'existe pas)

InformationsquelleAutor nikdeapen | 2012-10-26