作爲一名小白經常是需要與異常交鋒的,爲了使我們再次遇到它時,不會慌張,不會亂陣腳,我們就需要對異常瞭如指掌,能夠坦然面對,解決得遊刃有餘.遇到異常,不要慌張,要心平氣和的去查找原因,俗話說的好,沒有bug的程序不是好程序 , 如果沒有bug 大部分程序員估計也就有可能失業了,程序員職業都有可能加入兼職的大潮流中...
話不多說上異常 :
1. UNABLE_TO_LOCK_ROW
產生於死鎖, 一般是兩種場景造成:兩個transactions(事務)同時對一條記錄進行更新;或者一個transactions超時。
2. STRING_TOO_LONG
前臺沒有做字段長度限制,導致後臺提交報錯。
3. LIMIT_EXCEEDED
1 . Too many SOQL queries: 101
一個transaction只能一次執行100條SOQL,檢查是否SOQL或DML寫在循環中;如果需要更改上下文,可以使用@future註釋來異步運行代碼。
需要注意的是,一個trigger裏面執行的屬於一個transaction。
不知道小夥伴們有沒有經常遇到這個異常,小喵可是經常遇到┭┮﹏┭┮
2. Too many DML rows: 10001
一個transaction只能一次更新10,000條記錄,可以嘗試用batch代替apex操作。
3. Apex CPU time limit exceeded
SF服務器cpu同步執行最大延時10s,異步60s。嘗試多使用基於query的map結構;嘗試是否可以異步執行一些代碼(@future);嘗試合併SOQL;嘗試減少數據的循壞遍歷。
4. CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
沒有權限創建,更新某條記錄(檢查字段,對象權限)。
5. INVALID_FIELD_FOR_INSERT_UPDATE
常見於給字段賦非法值,給只讀字段賦值,對父對象記錄DML操作.
6. INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST
給picklist類型字段賦空值或限制以外值。
7. FIELD_FILTER_VALIDATION_EXCEPTION
是否更新操作違背了字段的lookp filter規則。
8. FIELD_CUSTOM_VALIDATION_EXCEPTION
無法定義違反字段完整性規則的自定義驗證公式。
9.INVALID_TYPE_ON_FIELD_IN_RECORD
指定的值對於指定字段的類型無效。
小喵記得遇到這個錯誤的時候是因爲在進程生成器裏面用公式給字段賦值時沒有判斷非空所以才遇到這個錯誤的,因爲字段是個複選框,當時小喵想着複選框的值不是true就是false ,沒有想到null,結果導致出現了這個異常,後來還是在前輩的提點下,在公式裏判斷了一下爲null則給它賦值false;
Example :
A.IsError__c = IF(IsError__c == null,false,IsError__c);
更多異常小夥伴們可以查看 ↓
今天分享就到這裏了
(^_^)~喵~!!