質問

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");
}

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

役に立ちましたか?

解決

コードに明らかに問題はありません。詳細を入力する必要があります。

objc_exception_throw のブレークポイントを設定し、デバッガーでプログラムを実行します。次に、例外がスローされる行を決定できます。

ワイルドな推測ですが、おそらく [errorlocalizedDescription] または [errorlocalizedFailureReason] nil を返しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top