begin
try--
----
---開始捕捉異常
begin
transaction
----
----
----
----
----
--開始事務
exec procname @procparam--
----
----
-執行儲存過程[報錯,則錯誤資訊會**捉]
commit
----
----
----
----
----
----
----
----提交事務
endtry
----
----
---結束捕捉異常
begin
catch
----
--有異常**獲
if @@trancount
>0--
----
----
----
----
---判斷有沒有事務
begin
rollback
----
----
----
----
----
---回滾事務
end--print error information.
print
'errornumber : '
+convert
(varchar(50
),error_number()
)print
'errorseverity : '
+convert
(varchar(5
),error_severity()
)print
'errorstate :'
+convert
(varchar(5
),error_state()
)print
'errorprocedure :'
+isnull
(error_procedure()
,'-'
)print
'errorline :'
+convert
(varchar(5
),error_line()
);print
'errormessage :'
+error_message()
;end
catch
----
----結束異常處理
例項應用:php **捕捉儲存過程錯誤資訊
$sp
=" begin try---------開始捕捉異常
begin transaction------------------開始事務
exec $proc_ame
$param
commit ----------------------------提交事務
end try-----------結束捕捉異常
begin catch------有異常**獲
if @@trancount > 0---------------------判斷有沒有事務
begin
rollback ----------------------回滾事務
end-- 返回錯誤資訊
select 'errorprocedure :' + isnull(error_procedure(), '-') + 'errormessage :' + error_message() as errmessage
end catch"
;$stmt
=$this
->
notorm
->
connection
->
prepare
($sp);
$stmt
->
execute()
;$result
=$stmt
->
fetchall
(pdo::
fetch_assoc);
if(isset
($result[0
]['errmessage'])
)return
$result
;
php捕捉到儲存過程錯誤資訊如下:
儲存過程直接執行錯誤資訊如下:
try…catch 使用下列錯誤函式來捕獲錯誤資訊:
異常捕捉陷阱
finally執行規則 eg1 tryfinally 不論try塊正常結束或者非正常結束,finally的確會執行 但是上述例子不會輸出finally塊內容,因為system.exit 0 根本沒有結束執行過程,system.exit 0 將停止當前執行緒和其他當場死亡的執行緒,finally不能使...
捕捉異常try catch
1,當 在執行時可能出現異常時用try catch 捕捉異常,這樣程式出現異常不會立即跳出程式,可以經過處理後讓程式繼續執行或者跳出。例如 string a 12211a try catch exception e 2,還有很多其他異常,列舉一些常見異常 算術異常類 arithmeticexecpt...
關於異常捕捉
關與異常捕捉這個問題 首先我們要區分什麼時候用try catch 什麼時候用throw 什麼時候用throws,1.如果你需要抓取具體的異常那麼需要對 塊用try catch 2.如果你將抓取的異常丟擲到控制台或日誌中就需要用到throw 注意這個throw一般會寫在catch 塊裡,還有就是如果c...