NSException和NSError的使用场景不同。
NSException
如果需要指出程序员的编码错误,则应该使用NSException
。例如:一个方法只能接受奇数作为参数,但是程序员在调用该方法时传入了偶数,这时应该抛出异常,以方便程序员解决代码错误。
NSError
对于预期错误,如用户错误和设备环境错误,应该使用NSError
。例如:一个方法需要读取用户照片,但是没有访问用户相册的权限,这时应该向方法调用者返回一个NSError
对象,指出不能执行本次操作的原因。
NSException和NSError的使用场景不同。
NSException
如果需要指出程序员的编码错误,则应该使用NSException
。例如:一个方法只能接受奇数作为参数,但是程序员在调用该方法时传入了偶数,这时应该抛出异常,以方便程序员解决代码错误。
NSError
对于预期错误,如用户错误和设备环境错误,应该使用NSError
。例如:一个方法需要读取用户照片,但是没有访问用户相册的权限,这时应该向方法调用者返回一个NSError
对象,指出不能执行本次操作的原因。