我有一个SQL程序,在特定情况下抛出异常:
SIGNAL EMPTY_REQ_ATTR SET message_text = 'my mega error message';
此过程有一个退出处理程序:
DECLARE EMPTY_REQ_ATTR CONDITION;
DECLARE EXIT HANDLER FOR EMPTY_REQ_ATTR RESIGNAL EMPTY_REQ_ATTR;
在另一个SQL过程中调用此SQL过程,我尝试捕获此异常:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
errors = SELECT 400 AS http_code, ::SQL_ERROR_MESSAGE AS message FROM dummy;
END;
但是在调试中我看到退出处理程序仅适用于嵌套过程。 DECLARE EXIT HANDLER FOR SQLEXCEPTION
处的断点无效。
答案 0 :(得分:0)
据我了解,您已经在嵌套过程中捕获了此异常,并且异常没有再次被抛出。我认为,您可以从嵌套过程中删除异常处理程序或从中抛出异常。