4

myMethod:NSObject を介して呼び出された場合、in 中に発生した例外はどうなりperformSelectorOnMainThread:withObject:waitUntilDone:ますか?

特に、このような呼び出しの範囲でそれらをキャッチできますperformSelectorOnMainThreadか...

@try {
    [self performSelectorOnMainThread:@selector(myMethod) withObject:nil waitUntilDone:YES];
} @catch(NSException *e) {
    //deal with exception raised in myMethod here??
}

waitUntilDone がNO.

4

1 に答える 1

5

そのようにそれらをキャッチすることはできません。Cocoa は例外をキャッチしてコンソールに記録する場合がありますが、-perform を呼び出したスレッドでそれらを再発生させることはありません。代わりに、それらを -myMethod: (または -myMethod: を呼び出すラッパー) でキャッチし、他のスレッドが読み取れる場所に格納することができます。

于 2008-09-30T23:52:12.750 に答える