Pratique standard de vérification des erreurs Python

J'ai une question concernant la vérification des erreurs en Python. Disons que j'ai une fonction qui prend un chemin de fichier en entrée:

def myFunction(filepath):
    infile = open(filepath)
    #etc etc...

Une condition préalable serait que le fichier doit exister.

Il existe plusieurs façons pour vérifier cette condition, et je me demande quelle est la meilleure façon de le faire.

i) Vérifier avec un if:

if not os.path.exists(filepath):
    raise IOException('File does not exist: %s' % filepath)

C'est le moyen que j'avais l'habitude de le faire, même si la IOException serait soulevée par Python si le fichier n'existe pas, même si je n'ai pas l'élever.

ii) l'Utilisation d'affirmer, pour vérifier la condition:

assert os.path.exists(filepath), 'File does not exist: %s' % filepath

À l'aide affirme semble être la "norme" mode de vérification de pré/post-conditions, donc je suis tenté de les utiliser. Toutefois, il est possible que ces assertions sont éteints lors de l'-o drapeau est utilisé lors de l'exécution, ce qui signifie que cela peut potentiellement être éteint, et qui semble risqué.

iii) Ne gèrent pas la condition préalable à toutes les

C'est parce que si le chemin d'accès n'existe pas, il y aura une exception générée de toute façon et le message d'exception est suffisamment détaillé pour l'utilisateur de savoir que le fichier n'existe pas


Je me demande qui est la norme de pratique que je devrais utiliser pour mes codes.

source d'informationauteur chaindriver