天天看点

Salesforce之常见SFDC异常总结

        作为一名小白经常是需要与异常交锋的,为了使我们再次遇到它时,不会慌张,不会乱阵脚,我们就需要对异常了如指掌,能够坦然面对,解决得游刃有余.遇到异常,不要慌张,要心平气和的去查找原因,俗话说的好,没有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);

更多异常小伙伴们可以查看   ↓

   <<异常或代码报错汇总>>

继续阅读