5

HTTP 接続が失敗したときに例外を処理するコードを書きたいと思います。次のコードを使用します。

-(void) connection:(NSURLConnection *)connection
  didFailWithError: (NSError *)error {
    UIAlertView *errorAlert = [[UIAlertView alloc]
                    initWithTitle: [error localizedDescription]
                    message: [error localizedFailureReason]
                    delegate:nil
                    cancelButtonTitle:@"OK"
                    otherButtonTitles:nil];
    [errorAlert show];
    [errorAlert release];
    [activityIndicator stopAnimating];
    NSLog (@"Connection Failed with Error");
}

しかし、接続が失敗すると、プログラムはクラッシュします。プログラムをクラッシュさせずにアラートをポップアップさせるには?

4

1 に答える 1

3

コードに明らかな問題はありません。さらに情報を提供する必要があります。

ブレークポイントがオンにobjc_exception_throwなっていることを確認してから、デバッガーでプログラムを実行します。次に、例外がスローされた行を特定できます。

大雑把な推測ですが、おそらく[error localizedDescription]or[error localizedFailureReason]が を返してnilいます。

于 2009-03-03T18:05:35.440 に答える