私のボタンからこの機能を何度も呼び出すと(何度も気違いのように)、アプリがクラッシュする代わりに例外がスローされ、無視されます。Objective-C - 例外をキャッチしてアプリクラッシュを回避する方法
例外が発生した場合、どのようにクラッシュするのを無視しますか?
ここで、localViewはUIView *localView
です。
- (void)smallLocalView {
@try {
self.localView.backgroundColor = [UIColor blackColor];
[self.localView.layer removeFromSuperlayer];
//self.localView.opaque = NO;
}
@catch(NSException *exp) {
//NSLog(@">>> failed %@" , exp.reason);
NSLog(@"OK - but dont crash!!!");
}
@finally {
NSLog(@"OK - but dont crash!!!");
}
}
EDIT:
一般的にアクセス違反をキャッチすることはできません。この場合、 'self.localView!= nil'のチェックを追加することができます。 – sage444
私は!= nilを適用しましたが、 – YumYumYum
hmm、ok、 'self'または' localView'(またはその両方)がnullのときにクラッシュする可能性があります。コードが破損したときにコードと行を更新してください。 – sage444