Salesforce 如何获取失败的批处理记录?
是否有办法获取失败批次中的记录?AsyncApexJob只给出了失败的次数-但实际上没有什么比这更多Salesforce 如何获取失败的批处理记录?,salesforce,apex-code,Salesforce,Apex Code,是否有办法获取失败批次中的记录?AsyncApexJob只给出了失败的次数-但实际上没有什么比这更多 我认为没有办法使用默认功能获得所有所需的详细信息。我通过创建一个批状态对象来解决这个问题,我可以在其中记录批中发生的错误。实际上,我将批处理执行代码包装在一个try/catch块中,并在catch中添加一个新的批处理状态记录,其中包含错误的详细信息 global void execute(Database.BatchableContext BC, List<sObject> scop
我认为没有办法使用默认功能获得所有所需的详细信息。我通过创建一个批状态对象来解决这个问题,我可以在其中记录批中发生的错误。实际上,我将批处理执行代码包装在一个try/catch块中,并在catch中添加一个新的批处理状态记录,其中包含错误的详细信息
global void execute(Database.BatchableContext BC, List<sObject> scope) {
List<Batch_Status__c> BatchStatuses = new List<Batch_Status__c>();
try {
// ... batch execute code ...
}
catch(Exception e) {
// exception logging
Batch_Status__c BatchStatus = new Batch_Status__c();
// ... add exception detail to BatchStatus ...
BatchStatuses.add(BatchStatus);
}
insert BatchStatuses;
}
global void execute(Database.BatchableContext BC,List scope){
列表批次状态=新列表();
试一试{
//…批处理执行代码。。。
}
捕获(例外e){
//异常日志记录
Batch_Status_uuC BatchStatus=新批次_Status_uuC();
//…将异常详细信息添加到BatchStatus。。。
BatchStatus.add(BatchStatus);
}
插入批处理状态;
}
我很喜欢这个,马特,再次感谢你的帮助!旁注:只要execute()
调用有一个可捕获的异常,上述方法就可以正常工作。限制例外情况只能在finish()中确定