我似乎無法找到任何地方如何捕捉和重新拋出任何可能發生在過程中的錯誤或警告。如何捕捉並重新拋出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