Facing an issue in back propagation of error in multi functional call.
For example,
NSError *error = nil;
EMSPlanFolder *planner = [[EMSPlanFolder sharedPlanBuilder] buildPlanFromParsePlan:plan withError:&error];
if (error) {
//error
}
Next, it goes to function:
- (EMSPlanFolder*)buildPlanFromParsePlan:(EMParsedPlan*)parsedPlan withError:(NSError *__autoreleasing*)err
{
....
....
[self deserializePlan:parsedPlan forPlan:newPlanFolder allowingNoEndDate:NO withError:err];
if(err && *err) {
[newPlanFolder.managedObjectContext performBlockAndWait:^{
[EMSPlanFolder deletePlan:newPlanFolder];
}];
return nil;
}
return newPlanFolder;
}
Next, it goes to:
- (void)deserializePlan:(NSArray*)planElements forPlan:(LMSPlanFolder*)planFolder allowingNoEndDate:(BOOL)allowNoEndDate withError:(NSError *__autoreleasing*)err {
....
....
if(err) {
*err = [NSError errorWithDomain:@"Application" code:-1 userInfo:@{ NSLocalizedDescriptionKey:[NSString stringWithFormat:@"Plan was not found."]}];
}
return;
}
Problem is, it leads to crash when it back propagates to first code snippet. Any suggestions on it