Domanda

So di poter lanciare una Nsexception nel mio codice, il framework di sistema operativo iPhone lancia Nsexception stesso? Se lo fa, significa che dovrei catturare i nsexcepzioni da Framework? So che Java lancia eccezioni interne SDK, come eccezioni incontrollate.

È stato utile?

Soluzione

Le eccezioni lanciate dai framework in iOS e il cacao sono indicative di errori irrecuperabili. Non vengono utilizzate eccezioni (al di fuori di eccezioni molto estreme) per trasmettere qualcosa come un problema di validazione.

In generale, iOS e cacao usano NSError Per trasmettere problemi recuperabili (come errori di convalida dell'ingresso dell'utente, errori di convalida degli stati nei dati di base o problemi di connettività, per esempi).

Non dovresti usare le eccezioni all'interno del proprio codice a fini oltre a indicare problemi irrecuperabili. Va contro gli schemi dei framework sottostanti e farlo renderà il tuo codice più difficile da evolversi nel tempo.

Altri suggerimenti

Vuoi lanciare nsexcepzioni nel tuo codice e vuoi sapere se anche il framework li lancia. Bene, li lancia se si verifica un errore. Puoi catturarli mettendo ogni pezzo di codice che lancia l'eccezione in un tentativo ... cattura ... finalmente blocco che è diverso da quello per il "tuo" codice di lancio di eccezioni :) forse gli altri possono offrire maggiori informazioni e spero che io Ho capito bene quello che stai cercando di fare.

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