您好,登錄后才能下訂單哦!
這篇文章的內(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)更好的文章!
免責(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)容。