1. 程式人生 > >非預定義的異常處理

非預定義的異常處理

對於這類異常情況的處理,首先必須對非定義的ORACLE錯誤進行定義 

步驟如下:
在PL/SQL 塊的宣告部分定義異常情況:
<異常情況>  EXCEPTION; 
將其定義好的異常情況,與標準的ORACLE錯誤聯絡起來,使用EXCEPTION_INIT語句 
PRAGMA EXCEPTION_INIT(<異常情況>, <錯誤程式碼>); 
在PL/SQL 塊的異常情況處理部分對異常情況做出相應的處理。

例:DECLARE
   v_deptno dept.deptno%TYPE :=&deptno;
   deptno_remaining EXCEPTION;
   PRAGMA EXCEPTION_INIT(deptno_remaining, -2292);
   /* -2292 是違反一致性約束的錯誤程式碼 */
BEGIN
   DELETE FROM dept WHERE deptno=v_deptno;
EXCEPTION
   WHEN deptno_remaining THEN 
      DBMS_OUTPUT.PUT_LINE('違反資料完整性約束!');
   WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE(SQLCODE||’---‘||SQLERRM);
END;  

相關推薦

PL/SQL_處理例外2(預定異常、自定義異常

處理非預定義例外 為了提高PL/SQL程式的健壯性,應該在PL/SQL應用程式中合理地處理這些Oracle錯誤,此時就需要使用非預定義例外。使用非預定義例外的步驟如下圖所示: 示例如下:DECLARE e_integrity EXCEPTION; PRAGMA EX

Oracle 預定異常

-- 刪除dept表中指定部門的資訊 -- 分析:dept和emp表之間具有主外來鍵的關係,當刪除指定部門的資訊時,應確保該部門下沒有員工 declare -- 1.定義非預定義異常 e_fk exception; -- 2.把Oracle錯誤與異常建立關聯 -- -229

pl/sql預定異常處理

一、概念ORACLE預定義的異常情況大約有24個,無需在程式中定義,由ORACLE自動觸發。二、語法 <strong><span style="color:#6633ff;">

Oracle (2) 異常處理預定預定、自定義)

目錄 異常處理 異常處理 【導言】拋異常是為了執行的時候不報錯,並提示這段程式碼執行的結果有問題,讓開發者針對這個異常做特定處理(寫程式碼)。 1、預定義異常 【通用結構】 exception     when  系統已經定義好的異常  then

預定異常處理

對於這類異常情況的處理,首先必須對非定義的ORACLE錯誤進行定義  步驟如下: 在PL/SQL 塊的宣告部分定義異常情況:<異常情況>  EXCEPTION;  將其定義好的異常情況,與標準的ORACLE錯誤聯絡起來,使用EXCEPTION_INIT語句 PR

Oracle PL/SQL異常處理預定錯誤)

非預定義錯誤 非預定義錯誤即其他標準的Oracle錯誤。對於這種異常情況的處理,需 要使用者在程式中定義,然後由Oracle自動將其引發。 對於這類異常情況的處理,首先必須對非定義的Oracle錯誤進行定義, 步驟如下。 1)在PL/SQL塊的定義部分定義異常情況:<

Oracle異常處理及舉例(Oracle預定異常和自定義異常

PL/SQL 異常處理 Oracle系統異常分別為兩大類: 預定義異常:Oracle系統自身提供 自定義異常:Oracle不知曉無法控制的異常,特定的業務邏輯。由使用者在程式中定義,Oracle自動引發Oracle常見的預定義異常 ZERO_DIVIDE

PL/SQL預定異常

預定義的異常 PL/SQL提供了許多預定義的異常,這些異常在程式違反任何資料庫規則時執行。 例如,當SELECT INTO語句不返回任何行時,會引發預定義的異常NO_DATA_FOUND。下表列出了一些重要的預定義異常情況 - 異常 Oracle錯誤程式碼 SQLCODE

Oracle 預定異常

declare v_name emp.ename%type; v_sal emp.sal%type:=&salary; begin select ename,sal into v_name,v_sal from emp where sal=v_sal; dbms_outp

一篇文章完全搞清楚 scoket read/write 返回碼、阻塞與阻塞、異常處理 等讓你頭疼已久的問題

我認為,想要熟練掌握Linux下的TCP/IP網路程式設計,至少有三個層面的知識需要熟悉: 1. TCP/IP協議(如連線的建立和終止、重傳和確認、滑動視窗和擁塞控制等等) 2. Socket I/O系統呼叫(重點如read/write),這是TCP/IP協議在應用層表現出來的行為。 3. 編寫Perfo

結構化異常處理結構化異常處理 的區別

簡單來說, 結構化異常處理是指使用包含異常的控制結構、隔離的程式碼塊和篩選器來建立異常處理機制。  這樣,您的程式碼可以區分不同型別的錯誤,並根據環境做出相應的響應。  在非結構化異常處理中,位於程式碼開頭的 On Error 語句處理所有異常。 -------

Php中的預定字元處理

        最近在處理公司的一個專案,但是一直出現數據庫的插入語句錯誤,很是納悶,其他的使用者總是可以插入資料,但是總是有一個店鋪怎麼都插入不進去資料最後也是問了一下公司的大神,終於是明白了其中的道理,很簡單,一個引號引起的故障。 因為插入的資料中有個引號,會自動匹

異常處理流程圖+多線程Thread類流程圖+靜態方法調用

處理流 inf out com 分享 int private 靜態方法 ring 異常處理完整流程 main方法調用非靜態方法 public class Demo{   public static void main(String[] args){  

百度富文字編輯器ueditor的使用、空校驗、引用預定模板

最近用到百度ueditor編輯器,遇到了很多問題,總結一下ueditor的使用、非空校驗、引用預先寫好的模板。 一、百度ueditor編輯器簡單使用: 1.在百度官網http://ueditor.baidu.com/website/download.html下載壓縮包,解壓之後整體拷

34.阻塞丶套接字異常處理丶埠掃描

非阻塞及套接字異常處理:   套接字異常捕獲: 套接字建立失敗,8000  socket.error  客戶端連線錯誤:

第五章 php陣列(預定超全域性陣列、處理陣列的相關函式)

預定義超全域性陣列變數: 已經定義好了的變數(存放的資料型別是陣列) 超全域性:超級全域性變數,作用域(有效區域)   傳遞資料(提交資料)給伺服器端主要有兩種方式: get 方式 比如,?引數名=引數值&引數名=引數值.....

使用SpringBoot通過自定義註解+AOP+全域性異常處理實現引數統一空校驗

一、前言         在我們寫後臺介面時,難免對引數進行非空校驗,如果一兩個還好,但如果需要寫大量的介面,及必填引數太多的時候,會給我們開發帶來大量的重複工作,及很多相似程式碼。而sping自帶的@RequestParam註解並不能完全滿足我們的需求,因為

c/c++預處理過程詳解(二)之條件編譯及預定的巨集

未經博主同意不得私自轉載!不準各種形式的貼上複製本文及盜圖! 首先對於上篇文章中巨集定義的補充: (1)#define NAME"zhangyuncong" 程式中有"NAME"則,它會不會被替換呢? (2)#define 0x abcd 可以嗎?也就是說,可不可以用不是

java通過鍵盤不斷輸入某門課程的成績(利用異常處理解決當輸入非法數字或數字的字串時提示輸入不正確)

java接收使用者通過鍵盤不斷輸入表示某門課程的成績的字串(按回車為一個字串結束),當輸入非法數字(輸入值小於0或大於100)時提示成績輸入有誤,當輸入為非數字的字串時提示輸入格式不合法。 程式如下: import java.util.Scanner; cla

2+6多機安裝部署、部分異常處理以及使用configtxlator對區塊基本資訊查詢(kafka共識,手動docker方式)

根據蒐集的資料安裝測試並在安裝測試過程中整理的文件,如有不足希望不吝賜教。 本文介紹CentOS7中hyperledger-fabric1.1多機部署使用kafka共識非docker方式,大體上與之前solo共識的步驟類似,(solo共識:《CentOS7中hyperle