Domanda

Voglio scrivere del codice per gestire le eccezioni quando la connessione HTTP non riesce. Uso i seguenti codici:

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

Ma il programma si arresta in modo anomalo quando la connessione non riesce. Come far apparire l'avviso senza crash del programma?

È stato utile?

Soluzione

Nulla è ovviamente sbagliato nel tuo codice, dovrai fornire ulteriori informazioni.

Assicurati di avere breakpoint su objc_exception_throw e quindi eseguire il programma con il debugger. Quindi puoi determinare su quale riga viene generata l'eccezione.

Un'ipotesi selvaggia, ma forse [error localizedDescription] o [error localizedFailureReason] sta restituendo nil .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top