Seite 1 von 1

Moegliche exceptions von Methoden herausfinden

Verfasst: Donnerstag 28. September 2006, 10:01
von behe0815
Hi,

wie kann ich herausfinden, welche exceptions von einer Methode erzeugt werden koennen, z.B. dircache.listdir()

http://www.python.org/doc/1.5.2p2/lib/m ... cache.html

Mit einem einfachen "except:" kann ich natuerlich alle abfangen, aber im Python tutorial steht, dass man's so besser nicht macht:
The last except clause may omit the exception name(s), to serve as a wildcard. Use this with extreme caution, since it is easy to mask a real programming error in this way! It can also be used to print an error message and then re-raise the exception (allowing a caller to handle the exception as well).
Konkret sieht's so aus:

Code: Alles auswählen

		try:
			directory_listing = dircache.listdir(directory)
		except:
			print 'Could not open directory', directory
			return
String "directory" koennte aber auch ein Dateiname sein, wenn der Benutzer eine falsche Eingabe macht. Dann schlaegt listdir() fehl und wirft eine exception. Oder kann man bei Methoden der Systembibliotheken ohne weiteres "except:" benutzen, da diese als "stable" angesehen werden koennen?

Benoetige Erleuchtung. :)

Behe0815

Verfasst: Donnerstag 28. September 2006, 10:07
von gerold
Hi Behe0815!

Ich persönlich, provoziere die Fehler die ich abfangen möchte, und schau mir dann die Fehlermeldung an. Da steht dann auch drinnen, welcher Fehler ausgelöst wurde.

mfg
Gerold
:-)

Verfasst: Donnerstag 28. September 2006, 13:41
von behe0815
Hallo Gerold, danke fuer den Tipp.

Es wird ein "WindowsError" geworfen. Naja, der Plattformunabhaengigkeit zuliebe fange ich "OSError" ab und gut ist. :D

--
Behe0815