我似乎无法找到任何地方如何捕捉和重新抛出任何可能发生在过程中的错误或警告。如何捕捉并重新抛出MySQL中的所有错误
我想是这样做的语法如下:
create procedure myProcedure()
begin
declare exit handler for ANYTHING_WRONG_THAT_CAN_BE_CAUGHT_WARNINGS_INCLUDED
begin
rollback;
RE_THROW THE_THING_THAT_WAS_CAUGHT;
end;
start transaction;
-- do some stuff
commit;
end; //
原因是,我想迫使错误或警告回滚,但离开它的客户端来决定做什么用具体的错误。
全部区域是我不知道该放什么的部分。
感谢您的帮助!
编辑-------
我已经学会了,因为它是不可能做什么,我都问:'(
相反,我有何事一个错误出错和用下面的代码:
declare exit handler for sqlwarning, sqlexception begin
rollback;
call error();
end;
(误差()不存在)
此问题将提供部分解决方案:http://stackoverflow.com/questions/18858567/mysql-exception-handler-access-excep正在处理 – djechlin
为什么'部分'?少了什么东西? – rsanchez