¿Lanzar una excepción en un método objetivo-C cuando un parámetro de entrada requerido es nulo?
-
26-10-2019 - |
Pregunta
Observando la guía general sobre el uso de excepciones en Objetivo-C (p. Ej. Lanzar una excepción en Objective-C/Cocoa) Todavía no estoy muy seguro de este caso:
¿Lanzar una excepción en un método objetivo-C cuando un parámetro de entrada requerido es NIL Best Practice/OK?
Si no, ¿qué enfoque sería típico y luego en Objective-C?
Solución
Esa sería una excepción válida, o incluso una afirmación (que a su vez lanzará una excepción). ahí está el NSParameterAssert
La macro definida ya hará lo que quieras.
Otros consejos
Un Nsassert es algo más destinado a la propia comodidad de los desarrolladores. Los desarrolladores lo usan para verificar los supuestos/condiciones, etc. Una cosa a tener en cuenta es que Nsassert no se compilará en su código en una compilación de versión.
Usted hace @throw nsexception para su situación, ya que solo están destinadas a estas situaciones cuando desea manejar los casos para entradas no válidas a su código en tiempo de ejecución.
Nserrors también es otra instalación proporcionada por Apple. Se utiliza generalmente para condiciones no deseadas que no son errores de programación (por ejemplo, se defectora el hardware Bluetooth y su aplicación relacionada con Bluetooth depende de eso)