oracle主動丟擲異常
RAISE_APPLICATION_ERROR內建函式用於丟擲一個異常並給異常賦予一個錯誤號以及錯誤資訊。自定義異常的預設錯誤號是+1,預設資訊是User_Defined_Exception。RAISE_APPLICATION_ERROR函式能夠在pl/sql程式塊的執行部分和異常部分呼叫,顯式丟擲帶特殊錯誤號的命名異常。 Raise_application_error(error_number,message[,true,false]))
錯誤號的範圍是-20,000到-20,999。錯誤資訊是文字字串,最多為2048位元組。TRUE和FALSE表示是新增(TRUE)進錯誤堆(ERROR STACK)還是覆蓋(overwrite)錯誤堆(FALSE)。預設情況下是FALSE。
如下程式碼所示:
IF product_not_found THEN
RAISE_APPLICATION_ERROR(-1111, 'Invald product code', TRUE);
END IF;
儲存過程中的when others then 和 raise
XCEPTION when others then rollback; dbms_output.put_line('code:' || sqlcode); dbms_output.put_line('errm:' || sqlerrm); raise; when others then和raise; 分別是什麼意思
異常分很多種類,如NO_FOUND。others處本應該寫異常名稱,如果不想把異常分得那麼細,可以籠統一點用others來捕獲, 即所有異常均用others來捕獲。 when others then表示是其它異常。 raise表示丟擲異常,讓User可以看到。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2773616/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Swift 中 throws 異常丟擲Swift
- 啪,還敢丟擲異常
- 建構函式中丟擲的異常函式
- Java異常十一:使用throw丟擲異常物件;throw和throws的區別Java物件
- 高效Java:丟擲適合抽象的異常 - Kyle CarterJava抽象
- C++程式丟擲異常後執行順序C++
- hibernate open session in view 丟擲異常解決方法SessionView
- 中介軟體中丟擲異常,Handler中無法捕獲
- Golang 迴圈異常丟擲不影響整個請求Golang
- WCF服務端丟擲的異常會跑到客戶端服務端客戶端
- scope="session"和scope="request"--丟擲異常非常的bug+垃圾Session
- migrate:rollback 時 dropForeign 丟擲的異常解決方案
- Shiro身份驗證丟擲AuthenticationException異常,解決方案Exception
- [譯] Ruby 2.6 Kernel 的system 方法增加是否丟擲異常引數。
- 建構函式與解構函式是否可以丟擲異常函式
- jdon安裝不知丟擲空指標的異常出現在哪 求教指標
- java中異常丟擲後程式碼還會繼續執行嗎Java
- 程式碼安全測試第三十期:丟擲通用異常缺陷
- Laravel 8 表單驗證丟擲異常返回 json 格式資料LaravelJSON
- Laravel 框架中 使用 Symfony 提供的方法 丟擲不同型別錯誤異常Laravel框架型別
- JAVA操作MySQL tImestamp列值為0時丟擲異常的處理~JavaMySql
- XCode除錯時丟擲異常,定位到某一行程式碼XCode除錯行程
- SpringBoot中SpringSecurity 中不能丟擲異常UserNameNotFoundException 問題解析與處理Spring BootGseException
- OpenCV 3.0後的 xfeatures2d 中detect()函式丟擲異常處理OpenCV函式
- 中介軟體自定義檢測 JWT 並通過自定義異常丟擲錯誤--筆記JWT筆記
- Redis client之Jedis線上程執行丟擲異常無法恢復的情形和解決方案Redisclient
- java多執行緒:執行緒體往外丟擲異常的處理機制實踐Java執行緒
- 錯誤: 代理丟擲異常錯誤: java.rmi.server.ExportException: Port already in use: 1099;JavaServerExportException
- Vue專案啟動丟擲Error/NoPostCSSConfigfoundinVueErrorCSS
- 技術日誌 - API 中使用 Laravel form 表單驗證丟擲異常如何返回 API 格式資料APILaravelORM
- 全面學習ORACLE Scheduler特性(7)Scheduler丟擲的EventsOracle
- oracle 異常Oracle
- Solon 用 throw 丟擲資料
- 全面學習ORACLE Scheduler特性(8)Application丟擲的EventsOracleAPP
- 啟動tomcat時 錯誤: 代理丟擲異常 : java.rmi.server.ExportException: Port already in use: 1099的解決辦法TomcatJavaServerExportException
- 【spring原始碼學習】spring配置的事務方式是REQUIRED,但業務層丟擲TransactionRequiredException異常問題Spring原始碼UIException
- 聯合國主動丟擲橄欖枝,天美攜手遊戲行業一起“玩遊戲,救地球”遊戲行業
- 在 python 中,如果 x 是 list,為什麼 x += "ha" 可以執行,而 x = x + "ha" 卻丟擲異常呢Python