isFinishedmeans that your operations are completed, you can cancel the operation, but this means that your operation is canceled, and this can be done without even performing the operation, and you can check it by calling isCanceledif you need special flags of failure and success after execution NSOperationthen add a property to the subclass isFailureand check the dependent operation before execution, and cancel it if isFailure is set to true.
You can add a dependency on the operation and check the status there, and if everything is successful, just refresh the user interface in the main thread or the report and error.
Update You can save an array of dependent operations, and in case of failure you can cancel these operations.