中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORACLE異常處理

發布時間:2020-08-10 17:13:12 來源:ITPUB博客 閱讀:128 作者:KFCLYY 欄目:關系型數據庫

項目開發的代碼幾乎是做不到沒有BUG的,所以需要捕捉代碼運行過程中出現的異常并且進行處理。PL/SQL使用異常處理框架來跟蹤并對錯誤做出響應。

一、異常處理概念

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

二、異常定義

1.聲明有名異常

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

exception_name EXCEPTION;

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

在代碼的執行單元中使用RAISE exception_name;

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

2.異常名稱與錯誤代碼關聯

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

invalid_month EXCEPTION;

PRAGMA EXCEPTION_INIT (invalid_month,-1843);

為了方便引用常見的異常名字,可以構建包。

3.拋出異常

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

數據庫檢測到錯誤時可以拋出異常;

使用RAISE語句拋出異常;

使用內置的RAISE_APPLICATION_ERROR過程拋出異常。

三、異常處理

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韶山市| 大渡口区| 怀柔区| 桓台县| 凤冈县| 深圳市| 遵义市| 加查县| 武义县| 买车| 峨眉山市| 上饶县| 云林县| 宁波市| 德惠市| 汝南县| 阿拉尔市| 新昌县| 蒲城县| 塔河县| 恩平市| 寿阳县| 集安市| 西充县| 湟中县| 札达县| 镇康县| 修文县| 怀集县| 衡山县| 四子王旗| 梨树县| 收藏| 吉木萨尔县| 民乐县| 东方市| 万州区| 广灵县| 乡城县| 肥西县| 霍城县|