C имеет perror и errno, которые печатают и хранят последнюю обнаруженную ошибку. Это удобно при выполнении файла io, так как мне не нужно fstat () каждый файл, который не является аргументом функции fopen (), чтобы предоставить пользователю причину, по которой вызов не удался.
Мне было интересно, как правильно ошибаться при изящной обработке исключения IOError в python?
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...