如何知道全栈错误?
我想知道,如果可能的话,查看一整套被调用的函数。
我有一个功能层次结构,具有“一般”->“非常专业”的层次结构。
假设我有 5 级层次结构。
每个函数都有完成错误块,定义如下:
typedef (^ErrorBlock)(NSError*error)
FunctionWithManyParams:(Param1Type*)param1.... onError:(ErrorBlock)ErrorBlock;
层次结构中的每个函数都有相同的代码部分:
onError(NSError*error){
ErrorBlock(error);
}
所以,如果我从高层调用函数(假设 n),它将从(n-1) 层调用函数等等。
如果1 级的函数有错误,它会回调到调用它的非常高级的函数(非常专业)。
是否有可能知道这个调用的完整路径?(或一些技术)?
我想要完整跟踪函数调用,所以,我需要添加如下内容:
onError(NSError*error){
NSString*errorDescription = [self getNameOfFunction];
NSMutableDictionary * errorDictionary = [NSMutableDictionary dictionary];
NSString*previousErrorDescription = [error description];
[errorDictionary setValue:[NSString stringWithFormat:@"%@ >> %@",previousErrorDescription,errorDescription ] forKey:NSLocalizedDescriptionKey];
NSError * errorNew = [NSError errorWithDomain:vkDomain
code:errorCode
userInfo:errorDictionary
];
ErrorBlock(errorNew);
}