注意到在objective-c中重新使用异常的一般指导(例如在objective-c/cocoa中抛出异常)我仍然不太确定这种情况:
当所需的输入参数为零时,是否在objective-c方法中抛出异常最佳实践/好的?
如果不是,那么在objective-c中什么方法是典型的?
注意到在objective-c中重新使用异常的一般指导(例如在objective-c/cocoa中抛出异常)我仍然不太确定这种情况:
当所需的输入参数为零时,是否在objective-c方法中抛出异常最佳实践/好的?
如果不是,那么在objective-c中什么方法是典型的?
那将是一个有效的异常,甚至是一个断言(这反过来又会引发一个异常)。NSParameterAssert
已经定义了可以执行您想要的宏的宏。
NSAssert 更适合开发人员自己的方便。开发人员使用它来检查假设/条件等。需要注意的一点是,NSAssert 不会在发布版本中编译到您的代码中。
您针对您的情况执行@throw NSException,因为它们仅适用于您想要在运行时处理代码无效输入的情况时的这些情况。
NSErrors 也是 Apple 提供的另一个工具。它通常用于不是编程错误的不需要的条件(比如蓝牙硬件有缺陷,你的蓝牙相关应用程序依赖于此)