Выбросить исключение в методе Objective-C, когда необходимый входной параметр-NIL?
-
26-10-2019 - |
Вопрос
Отмечая общее руководство повторно использование исключений в Objective-C (например, бросание исключения в Objective-C/какао) Я все еще не совсем уверен в этом случае:
Является ли исключение в методе Objective-C, когда необходимый входной параметр является лучшей практикой NIL/OK?
Если нет, какой подход был бы типичным, то здесь, в Objective-C?
Решение
Это было бы действительным исключением или даже утверждением (которое, в свою очередь, вызовет исключение). Здесь NSParameterAssert
Макро уже определен, что сделает то, что вы хотите.
Другие советы
NSAssert - это то, что больше предназначено для удобства разработчиков. Разработчики используют его для проверки допущений/условий и т. Д. Обратите внимание, что NSAssert не будет скомпилирован в ваш код в сборке выпуска.
Вы делаете @Throw NSEXCEPTES для вашей ситуации, поскольку они предназначены только для этих ситуаций, когда вы хотите рассмотреть случаи для неверных входов в код во время выполнения.
NSERRORS также является еще одним объектом, предоставленным Apple. Обычно он используется для нежелательных условий, которые не являются ошибками программирования (скажем, оборудование Bluetooth дефицитно, и ваше приложение, связанное с Bluetooth, зависит от этого).