Функция open, судя по описанию, может выбросить следующие исключения:
- OSError
- ValueError
- IOError
- FileExistsError
- InterruptedError
PS.
Если вам это нужно, чтобы ловить возможные ошибки, то лучше использовать общие типы, например Exception
Пример:
import traceback
try:
with open('NOT_FOUND') as f:
pass
except Exception:
print("ERROR:\n" + traceback.format_exc())
Результат:
ERROR:
Traceback (most recent call last):
File "<...>.py", line 10, in <module>
with open('NOT_FOUND') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'NOT_FOUND'
Если нужно ловить конкретные, то:
import traceback
try:
with open('NOT_FOUND') as f:
pass
except FileNotFoundError as e:
print(f"FileNotFoundError: {e}")
except Exception:
print("ERROR:\n" + traceback.format_exc())
Результат:
FileNotFoundError: [Errno 2] No such file or directory: 'NOT_FOUND'