Questa domanda riguarda lo stile di codifica.
Dire che ho una funzione, f . f dipende da una condizione C . Chiama un'altra funzione g come subroutine. g dipende anche dalla condizione C . Se trova che la condizione C non è soddisfatta, solleva un'eccezione. Ora, nella funzione f , dovremmo scrivere:
try:
result = g()
except TheSpecificExcpetionGRaises:
raise
o semplicemente semplice
g()
Entrambi passano l'eccezione, ma il metodo uno inserisce il traceback nell'ambito della funzione f e il metodo due inserisce il traceback nello scope della funzione g .
Nota: la condizione di C non essere soddisfatta non implica l'uso improprio della funzione f . Oppure, in termini CS, la condizione C non fa parte delle specifiche del problema, piuttosto puntiamo quando la condizione C è falsa.
Non so perché ho scritto in corsivo tutto e usato termini matematici.