Puoi consigliare un bel modo di controllare un valore particolare tra le chiamate a un insieme di funzioni?
es. qualcosa del genere in Python (potrebbe non essere terribilmente 'Pythonic'):
self.error_code = 0 # this will be set by each function if an error has occurred
self.function_list = [self.foo, self.bar, self.qux, self.wobble]
...
def execute_all(self):
while not self.error_code and self.function_list:
func = self.function_list.pop() # get each function
func(error_code) # call it
if self.error_code:
# do something
L'idea è che le funzioni successive non verranno chiamate se self.error_code
è impostato e tutte le funzioni saranno chiamate in ordine se tutto è buono.
Chiunque può pensare a un'alternativa migliore a quella in Python o forse a un approccio indipendente dalla lingua?
Voglio evitare di avere quel codice in ogni chiamata di funzione (ad esempio if self.error code: return
) in modo da non finire con lo stesso controllo su tutte le funzioni.