C ma perror i errno, które drukują i zapisują ostatni napotkany błąd. Jest to wygodne, gdy robię plik io, ponieważ nie muszę fstat() każdego pliku, który zawodzi jako argument do fopen(), aby przedstawić użytkownikowi powód, dla którego połączenie nie powiodło się.Obsługa wyjątków Python
Zastanawiam się, jaki jest właściwy sposób na pobranie errno, gdy z gracją obsługuję wyjątek IOError w pythonie?
In [1]: fp = open("/notthere") --------------------------------------------------------------------------- IOError Traceback (most recent call last) /home/mugen/ in() IOError: [Errno 2] No such file or directory: '/notthere' In [2]: fp = open("test/testfile") --------------------------------------------------------------------------- IOError Traceback (most recent call last) /home/mugen/ in() IOError: [Errno 13] Permission denied: 'test/testfile' In [5]: try: ...: fp = open("nothere") ...: except IOError: ...: print "This failed for some reason..." ...: ...: This failed for some reason...
lepiej niż zaakceptowana odpowiedź! – RichVel
"ioex.strerror" wydaje się być odpowiednikiem 'os.strerror (ioex.errno)' (python 2.7) – Dannid