使用Apex进行异常处理(force.com)

时间:2012-01-02 05:52:45

标签: apex-code

有没有办法用Apex方法抛出标准或自定义异常,

 private void createNewJob() throws RecordNotFoundException { 

  try {         
         // Some DML operation                
      } catch (Exception e) {  
         System.Debug('Error: Object not found');
         throw new RecordNotFoundException('Object not found');
      }
  }

3 个答案:

答案 0 :(得分:1)

定义异常类。最低限度:

public class RecordNotFoundException extends Exception { }

你的throw语句看起来很好。

此外,没有必要声明该方法抛出异常类型。

答案 1 :(得分:1)

我认为以下可以帮到你。它有SFDC APEX标准和自定义异常的完整示例

http://share-salesforce.blogspot.in/2013/05/salesforce-apex-exception-handling-and_29.html

答案 2 :(得分:0)

我们不应该向Apex明确抛出那些标准或自定义异常,自己编写代码。

@Method抛出一些自定义异常(RecordNotFoundException)

private void createNewJob(){ 

  try {         
         // Some DML operation                
      } catch (Exception e) {  
         System.Debug('Error: Object not found');
         throw new RecordNotFoundException('Object not found');
      }
 }

@Can可以处理该异常,如下所示,

private void callingMethod() { 

  try {         
         createNewJob(); // Call above method                 
      } catch (RecordNotFoundException e) {  
         System.Debug('Error:Record not found exception ['+ e.getMessage()+']');       
      }
 }