You could always do: if <early stop condition>: self.early_stop() return No further calculations will run after return The original poster asked how to stop during the calculations and not during instantiation (__init__). To do so see: Docs - Exceptions Community - How to check the legality of parameters before running the test?