2013-01-13 6 views
8

Qual è l'appropriato python Exception da sollevare se manca un file di impostazioni?Classe di eccezione Python appropriata per il file delle impostazioni mancanti

Per esempio, nei progetti di Django, un modo leggero per consentire agli utenti di definire impostazioni locali è quello di aggiungere il seguente frammento al file settings.py

try: 
    from local_settings import * 
except ImportError: 
    # want to add informative Exception here 
    pass 

quindi, le impostazioni locali sovrascrivono quelle impostazioni predefinite in settings.py.

+1

Forse 'EnvironmentError' o' LookupError' o anche 'RuntimeError '. Ma perché è importante? Puoi crearne uno se ti interessa: 'classe MyCustomErrorThing (Exception): pass' – JBernardo

+0

Questo è in realtà quello che sto facendo in questo momento, anche se ero curioso di sapere se c'era un modo" migliore ". – jdg

risposta

1

La solita eccezione per i file mancanti è IOError.

È possibile personalizzare il testo con la creazione di una sottoclasse:

class MissingSettingsFile(IOError): 
    'Missing local settings file' 
    pass 

Quindi, utilizzare tale eccezione personalizzato nel frammento di codice:

try: 
    from local_settings import * 
except ImportError: 
    raise MissingSettingsFile 
Problemi correlati