Czy istnieje właściwy sposób wychwytywania wyjątków w kodzie blokowym?
Mam następujący kod:
void(^callback(int) = ^(int respond){
[self DoSomethingWithRespond:respond]; //this throws an exception
};
-(void)DoSomethingWithRespond:(int)respond{
if(respond == 400){
NSException *exception = [NSException
exceptionWithName:@"Failed"
reason:logMessage
userInfo:nil];
@throw exception
}
}
Metody wywołania zwrotnego są wywoływane z innego wątku. Jeśli odpowiedź jest równa 400 DoSomethingWithRespond
metoda zgłosi wyjątek.
Odpowiedzi:
4 dla odpowiedzi № 1 @try {
<#statements#>
}
@catch (NSException *exception) {
<#handler#>
}
@finally {
<#statements#>
}