1
如果我放了一個try catch,最後在一個異步GCD調用中,finally看起來並沒有被執行,我也不確定這個catch是什麼,似乎執行了一些時間。GCD @try @catch @finally
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
@try {
[self methodThatAlwaysThrowsAnException];
}@catch (NSException *exc) {
NSLog(@"Caught the Exception %@",exc);
}@finally{
NSLog(@"Should always execute");
}
});
有誰知道這是爲什麼?
因此,我把dispatch_async
以外的終於打電話,但我寧願知道我的嘗試完全執行。
像Cocoa這樣的東西,具有NSError參數的方法可以使用返回的結果進行檢查更爲常見。 – Abizern