manejo de errores mysql con señal / renuncia

Me gustaría tener una verificación de los tipos de carga válidos. Si un tipo de carga pasado a mi procedimiento no es válido, quiero enviar un mensaje de error a través de SIGNAL. También quiero tener un controlador EXIT genérico para cualquier otro error inesperado que revierta cualquier cambio. El problema es que el controlador EXIT genérico tiene prioridad sobre mi SEÑAL personalizada y todo lo que obtengo es 'SQLException found'. A menos que elimine el controlador EXIT genérico, en cuyo caso obtengo 'El tipo de carga es incorrecto'.

code:

DECLARE incorrect_load_type CONDITION FOR SQLSTATE '22012';

DECLARE EXIT HANDLER FOR incorrect_load_type 
RESIGNAL SET MESSAGE_TEXT = 'Load type is incorrect';

DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING 
  begin
    SELECT 'SQLException encountered';
    rollback;
end;

IF(v_load_type != 'CORRECT TYPE') THEN 
 SIGNAL incorrect_load_type;
END IF;

Respuestas a la pregunta(1)

Su respuesta a la pregunta