我有一个在特定情况下引发异常的 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不工作。