un'eccezione in un metodo oggettivo-c quando un parametro di input richiesto è nullo?
-
26-10-2019 - |
Domanda
Notando l'uso generale ri guida di eccezioni in Objective-C (ad esempio un'eccezione in Objective-C / cacao ) non sono ancora del tutto sicuro per questo caso:
sta gettando un'eccezione in un metodo Objective-C quando un parametro di input richiesto è pari a zero le migliori pratiche / ok?
Se no, quale approccio sarebbe tipico allora qui in Objective-C?
Soluzione
Che sarebbe un'eccezione valida, o anche un assert (che a sua volta un'eccezione). v'è la macro NSParameterAssert
definito già che farà ciò che si desidera.
Altri suggerimenti
Un NSAssert è qualcosa che è più significato per gli sviluppatori propria convenienza. Gli sviluppatori utilizzano per il controllo delle assunzioni / condizioni etc. Una cosa da notare è che NSAssert non essere compilato nel codice in una build di rilascio.
Lo fai @throw NSException per la vostra situazione in quanto sono pensati solo per queste situazioni quando si desidera gestire i casi per gli ingressi non validi per il codice in fase di esecuzione.
NSErrors è anche un altro strumento fornito da Apple. La sua generalmente utilizzato per le condizioni indesiderate che non sono errori di programmazione (dicono bluetooth hardware è disertato e si Bluetooth Applicazione correlato è dipendente da quella)