Hola Felipe,
Si quieres manejar el error desde SQL, debes usar error handlers, para no repetir la documentacion y ejemplos, te indico el link:
http://dev.mysql.com/doc/refman/5.6/en/declare-handler.html
Tambien puedes definir alias para condiciones de error, en lugar de hardcodear el numero como se documenta en:
http://dev.mysql.com/doc/refman/5.6/en/declare-condition.html
Si lo que quieres es manejar el error en C#, puedes usar excepciones,
la informacion del error que lanza la consulta en el servidor la puedes obtener atrapando la excepcion de tipo MySqlException, algo como
try
{
// tu consultas aqui.
MySqlCommand cmd = new MySqlCommand( ...
cmd.ExecuteNonQuery();
} catch( MySqlException ex )
{
}
La limitacion de este enfoque es que mientras puedes obtener el mensaje de error y el codigo de error (propiedades ex.Message y ex.Number respectivamente), no puedes obtener el SQLSTATE.
Saludos.