2015-09-12 2 views
0

J'écris un script où l'utilisateur sélectionne un répertoire et tape ok.Python: try/except OSerror errno 2

Je l'ai assez bien traité, mais j'essaie de trier les erreurs, mais ça ne va pas. Essentiellement, je veux continuer le script sauf si OSError Errno 2 est appelé.

en ce moment, je: import IOError ... ...

if ok==1: 
    try: 
    folder = selection 
    myFunction(folder) 
    except IOError: 
    print "Select a folder, not a file" 

J'ai essayé d'utiliser, sauf sans IOError, mais qui provoque des problèmes ailleurs dans le script (In une fonction différente complètement)

Quelqu'un a des suggestions?

Merci

+0

Avez-vous essayé d'exclure 'OSError'? – sobolevn

Répondre

0

Je ne sais pas ce que vous entendez par OSError Errno 2, mais quelle erreur que vous voulez, vous pouvez manipuler dans if et ignorer tous les autres avec pass déclaration

try: 
    folder = selection 
    myFunction(folder) 
except Exception as e: 
    if "I/O operation failed" in e.__doc__: 
     print "bingo" 
    else: 
     pass 
+0

Merci, les gars. Très appréciée –

0

Une autre façon et plus explici Cependant, selon la fréquence à laquelle l'exception est appelée, cette méthode peut avoir un impact sur la vitesse.