本文出處: http://www.cnblogs.com/wy123/p/6743515.html 

 

 T-SQL編程與應(yīng)用程序一樣,都有異常處理機(jī)制,比如異常的捕獲與異常的拋出(try catch throw),本文簡(jiǎn)單介紹異常捕獲與異常拋出在T-SQL編程中的實(shí)際使用 。

異常處理簡(jiǎn)單說(shuō)明

異常捕獲在應(yīng)用程序編程中非常常見,提供了處理程序運(yùn)行時(shí)出現(xiàn)的任何意外或異常情況的方法
剛畢業(yè)的時(shí)候?qū)τ诋惓L幚砻悦2唤?,尤其是catch中又throw,既然catch或者不catch,都會(huì)throw,為什么要catch后再throw?catch中到底要做什么處理?
后來(lái)接觸的多了開始慢慢理解了異常處理這個(gè)機(jī)制,在應(yīng)用程序和T-SQL中應(yīng)該是類似的
可以簡(jiǎn)單地這樣理解:
對(duì)于UI層面, 異常捕獲,個(gè)人理解就是對(duì)于可能發(fā)生異常的代碼段進(jìn)行捕獲處理,給予用戶友好的提示信息,
防止應(yīng)用程序崩潰(或者拋給給用戶一個(gè)后臺(tái)代碼錯(cuò)誤的頁(yè)面)的一種做法。
如果是底層方法(這個(gè)底層可以這么理解A方法調(diào)用B方法,B方法又調(diào)用C方法,C方法就是底層方法),
異常處理可以是在捕獲之后繼續(xù)拋出給上層調(diào)用者,讓調(diào)用者知道它調(diào)用的方法發(fā)生了什么問(wèn)題。
對(duì)于發(fā)生了異常的代碼本身,要記錄下來(lái)異常的原因,以便于問(wèn)題的排查。
比如C方法中發(fā)生了異常,要告訴調(diào)用他的B方法“我發(fā)生了異常,異常原因是***”, 這種的話C就要拋出異常,
同時(shí)C要記錄異常的信息(通過(guò)不同方式將上面的異常原因記錄下來(lái)),供后繼排查問(wèn)題作參考。

  以上是理論基礎(chǔ),下面以T-SQL中的異常處理為例,簡(jiǎn)單介紹一下異常處理方式和要做的事情,T-SQL中的異常處理。

 

catch塊中處理異常信息

網(wǎng)友評(píng)論