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.