溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Salesforce中常見(jiàn)SFDC異常有哪些

發(fā)布時(shí)間:2022-01-12 15:47:31 來(lái)源:億速云 閱讀:143 作者:柒染 欄目:云計(jì)算

這篇文章的內(nèi)容主要圍繞Salesforce中常見(jiàn)SFDC異常有哪些進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過(guò)這篇文章有所收獲!

        作為一名小白經(jīng)常是需要與異常交鋒的,為了使我們?cè)俅斡龅剿鼤r(shí),不會(huì)慌張,不會(huì)亂陣腳,我們就需要對(duì)異常了如指掌,能夠坦然面對(duì),解決得游刃有余.遇到異常,不要慌張,要心平氣和的去查找原因,俗話說(shuō)的好,沒(méi)有bug的程序不是好程序 , 如果沒(méi)有bug 大部分程序員估計(jì)也就有可能失業(yè)了,程序員職業(yè)都有可能加入兼職的大潮流中...

       話不多說(shuō)上異常 :

 1. UNABLE_TO_LOCK_ROW 

     產(chǎn)生于死鎖, 一般是兩種場(chǎng)景造成:兩個(gè)transactions(事務(wù))同時(shí)對(duì)一條記錄進(jìn)行更新;或者一個(gè)transactions超時(shí)。

2. STRING_TOO_LONG

      前臺(tái)沒(méi)有做字段長(zhǎng)度限制,導(dǎo)致后臺(tái)提交報(bào)錯(cuò)。

3. LIMIT_EXCEEDED 

      1 .  Too many SOQL queries: 101 

              一個(gè)transaction只能一次執(zhí)行100條SOQL,檢查是否SOQL或DML寫(xiě)在循環(huán)中;如果需要更改上下文,可以使用@future注釋來(lái)異步運(yùn)行代碼。
需要注意的是,一個(gè)trigger里面執(zhí)行的屬于一個(gè)transaction。 

            不知道小伙伴們有沒(méi)有經(jīng)常遇到這個(gè)異常,小喵可是經(jīng)常遇到┭┮﹏┭┮

     2.  Too many DML rows: 10001

             一個(gè)transaction只能一次更新10,000條記錄,可以嘗試用batch代替apex操作。

    3.  Apex CPU time limit exceeded

         SF服務(wù)器cpu同步執(zhí)行最大延時(shí)10s,異步60s。嘗試多使用基于query的map結(jié)構(gòu);嘗試是否可以異步執(zhí)行一些代碼(@future);嘗試合并SOQL;嘗試減少數(shù)據(jù)的循壞遍歷。

4. CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY 

  沒(méi)有權(quán)限創(chuàng)建,更新某條記錄(檢查字段,對(duì)象權(quán)限)。

5. INVALID_FIELD_FOR_INSERT_UPDATE 

  常見(jiàn)于給字段賦非法值,給只讀字段賦值,對(duì)父對(duì)象記錄DML操作.

6.  INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST

     給picklist類型字段賦空值或限制以外值。

7. FIELD_FILTER_VALIDATION_EXCEPTION 

   是否更新操作違背了字段的lookp filter規(guī)則。

8. FIELD_CUSTOM_VALIDATION_EXCEPTION

  無(wú)法定義違反字段完整性規(guī)則的自定義驗(yàn)證公式。

9.INVALID_TYPE_ON_FIELD_IN_RECORD

    指定的值對(duì)于指定字段的類型無(wú)效。   

 小喵記得遇到這個(gè)錯(cuò)誤的時(shí)候是因?yàn)樵谶M(jìn)程生成器里面用公式給字段賦值時(shí)沒(méi)有判斷非空所以才遇到這個(gè)錯(cuò)誤的,因?yàn)樽侄问莻€(gè)復(fù)選框,當(dāng)時(shí)小喵想著復(fù)選框的值不是true就是false ,沒(méi)有想到null,結(jié)果導(dǎo)致出現(xiàn)了這個(gè)異常,后來(lái)還是在前輩的提點(diǎn)下,在公式里判斷了一下為null則給它賦值false; 

   Example :

  A.IsError__c  =  IF(IsError__c == null,false,IsError__c);

10. No more than one executeBatch can be called from within a testmethod

在一個(gè)測(cè)試方法中只能調(diào)用一個(gè)executeBatch。請(qǐng)確保從start方法返回的iterable與批大小匹配,從而導(dǎo)致一次executeBatch調(diào)用。

11. Database.executeBatch cannot be called from a batch or future method

這個(gè)錯(cuò)誤是小喵在做Batch鏈的時(shí)候報(bào)的錯(cuò)誤,原因是API版本太低了,不支持進(jìn)行Batch鏈的操作┭┮﹏┭┮ , salesforce 在 Win13 時(shí)才引入了通過(guò)Batch的finish方法實(shí)現(xiàn)Batch鏈的這一功能.而Win 13 對(duì)應(yīng)的API版本是 26.0 , 因此我們的Batch批處理類將需要使用該版本或更高版本才能使用Batch鏈。當(dāng)時(shí),小喵的Batch鏈里中間的一個(gè)Batch的API版本剛好是25.0,因此在運(yùn)行時(shí)出現(xiàn)了這個(gè)錯(cuò)誤。

感謝你的閱讀,相信你對(duì)“Salesforce中常見(jiàn)SFDC異常有哪些”這一問(wèn)題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注億速云網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)?lái)更好的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI