Para capturar todas as exceções SQL, use:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
SQLWARNINGS pode ser usado para capturar avisos também. Dentro do manipulador de exceção, para gerar o erro ou aviso que acabou de ser capturado, use:
RESIGNAL
Consulte a documentação da declaração RESIGNAL:
https://dev.mysql.com/doc/refman/5.5 /en/resignal.html
Isso está disponível desde o MySQL 5.5