Controlla alcuni valori tra ogni chiamata di funzione

0

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.

    
posta Nobilis 10.03.2014 - 13:38
fonte

0 risposte

Leggi altre domande sui tag