ORACLE異常處理-創(chuàng)新互聯(lián)

項目開發(fā)的代碼幾乎是做不到?jīng)]有BUG的,所以需要捕捉代碼運行過程中出現(xiàn)的異常并且進行處理。PL/SQL使用異常處理框架來跟蹤并對錯誤做出響應(yīng)。

成都創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蔡家坡企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),蔡家坡網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

一、異常處理概念

任何類型的錯誤都按程序異常對待,異常可能來源于:系統(tǒng)產(chǎn)生的錯誤、用戶動作導(dǎo)致的錯誤和應(yīng)用程序向用戶發(fā)出的警告。如果PL/SQL發(fā)生了一個錯誤,就會拋出一個異常,當前PL/SQL塊中執(zhí)行單元就會暫停處理。控制轉(zhuǎn)向當前塊的異常處理單元,完成異常處理后就不能再返回到當前塊,而是將控制轉(zhuǎn)移到外層包圍塊。如果外層包圍塊沒有對異常處理,則錯誤會繼續(xù)向外層拋出,直到拋給使用者。

二、異常定義

1.聲明有名異常

在PL/SQL的聲明部分可以自定義異常的名稱,方式如下:

exception_name EXCEPTION;

引用異常的名字有兩種方式:

在代碼的執(zhí)行單元中使用RAISE exception_name;

在異常處理單元使用WHEN語句WHEN exception_name THEN。

2.異常名稱與錯誤代碼關(guān)聯(lián)

Oracle只定義了部分異常的名字,其他的錯誤只定義了一各錯誤數(shù)字和消息,不易于代碼的閱讀和維護。EXCEPTION_INIT命令可以把名稱和內(nèi)部錯誤代碼關(guān)聯(lián)起來,一旦創(chuàng)建了關(guān)聯(lián)關(guān)系,就可以通過名字來引用異常。在PL/SQL的聲明部分操作方式如下:

invalid_month EXCEPTION;

PRAGMA EXCEPTION_INIT (invalid_month,-1843);

為了方便引用常見的異常名字,可以構(gòu)建包。

3.拋出異常

程序有3種拋出異常的辦法:

數(shù)據(jù)庫檢測到錯誤時可以拋出異常;

使用RAISE語句拋出異常;

使用內(nèi)置的RAISE_APPLICATION_ERROR過程拋出異常。

三、異常處理

一旦有異常拋出,當前PL/SQL塊就會把控制傳遞給異常處理單元。這個異?;蛘弑划斍癙L/SQL塊中的處理句柄處理,或者拋給外層塊。

當前題目:ORACLE異常處理-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article18/dcosdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈、Google、標簽優(yōu)化網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作