Qual è la classe di eccezione "corretta" da sollevare quando una delle mie funzioni rileva None
passato dove è richiesto un valore di argomento? Per esempio:Eccezione corretta da sollevare se Nessuno incontrato come argomento
def MyFunction(MyArg1, MyArg2):
if not MyArg2:
raise ?Error?
Penso che ho visto TypeError
qui usato (ed è vero che sto ricevendo un NoneType
dove ci si aspetta qualche altro tipo), ma che non mi sembra giusto per questa situazione dove penso che l'eccezione potrebbe essere più esplicita.
Non dovresti fare questo tipo di controllo degli argomenti. Semplicemente lascia che fallisca ulteriormente con qualsiasi eccezione con cui fallisce. (E se davvero * devi * fare questo, 'TypeError' è l'eccezione corretta.Aggiunga una stringa di spiegazione per renderla più specifica.) –
Probabilmente avrei sollevato un' TypeError', dare un'occhiata alle eccezioni python integrate documentazione: http://docs.python.org/library/exceptions.html –
@Sven: di solito faccio come suggerisci, ma questo è un caso speciale in cui voglio fare questo controllo. –