日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apex 的异常处理

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apex 的异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apex 中的異常處理

在 Apex 中,和其他語言類似,對于異常處理通常使用 try、catch、finally、throw 等關鍵字。

對于每一個 try 代碼段,必須要有至少一個 catch 或 finally 代碼段,而 finally 代碼段最多只能有一個。

finally 代碼段是必然會執行的代碼段,無論異常有沒有發生。

異常處理的結果

當發生異常后,代碼執行會終止,而在此異常之前所有的數據庫 DML 操作都會回滾,無論是否已經在此之前設定了“保存點(SavePoint)”。

與此同時,相關的錯誤信息會寫入日志,用戶可以在“設置”界面下的 “Debug Logs” 選項中進行查看。錯誤信息也會顯示在用戶界面中。

異常類型

系統定義的異常類型有:

  • DmlException:關于數據庫操作的異常
  • ListException:關于列表操作的異常
  • NullPointerException:關于空指針的異常
  • QueryException:關于查詢語句的異常
  • SObjectException:關于SObject對象的異常

它們共有的方法包括:

  • getCause():給出異常原因
  • getLineNumber():給出發生異常的行數
  • getMessage():給出異常的詳細信息
  • getStackTraceString():給出異常發生的棧信息
  • getTypeName():給出異常的類型,比如 DmlException、NullPointerException 等

對于每個異常類型,還有自己的方法,比如 DmlException 就擁有 getDmlFieldNames()、getDmlMessage() 等方法。

標準格式

try {// 執行操作,有可能發生異常 } catch(DmlException e) {// 捕捉 DML 相關的異常 } catch(SObjectException e) {// 捕捉 SObject 相關的異常 } catch(Exception e) {// 發生異常之后,在此進行后續處理 } finally {// 其他的操作,必然會執行的代碼段 }

如果要捕捉不同的異常類型,要將“一般異常類型”(Exception)放在最后。

自定義異常類型

對于系統自定義的異常類型,只能使用 catch 來捕捉,而不能使用 throw 語句來拋出。開發者也可以定義自己的異常類型。

自定義異常類型也是一個類,必須繼承 Exception 類或其任何子類。

自定義異常類型的名字必須以 Exception 結尾。

標準格式:

public class BaseException extends Exception {}public class ExampleException extends BaseException {}...// 拋出異常類 throw new BaseException();// 拋出異常類并加上錯誤信息 new ExampleException('An error occurred.');// 拋出異常類并嵌套異常類變量 try { throw new BaseException('First exception'); } catch (BaseException e) { throw new ExampleException('Thrown with inner exception', e); }

轉載于:https://www.cnblogs.com/chengcheng0148/p/apex_exception.html

總結

以上是生活随笔為你收集整理的Apex 的异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。