У меня есть этот простой код для установки лог-файл в определенном месте: (Python 2.7.3)трудное время ловли окружающей среды Exception в Python
import os, errno
try:
CCustomLogger.setup_daemon_logger('TRexServer', "/var/log/trex/trex_daemon_server.log")
except EnvironmentError, e:
print "caught some exception...!"
if e.errno == errno.EACCES: # catching permission denied error
print "Launching user must have sudo privileges in order to run T-Rex daemon."
exit(1)
Однако, когда я пытаюсь запустить его, я все еще получаю ошибки и не может поймать его:
Traceback (most recent call last):
File "trex_daemon_server.py", line 50, in <module>
handler = logging.FileHandler("/var/log/trex/trex_daemon_server.log")
File "/usr/lib64/python2.7/logging/__init__.py", line 897, in __init__
StreamHandler.__init__(self, self._open())
File "/usr/lib64/python2.7/logging/__init__.py", line 916, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 13] Permission denied: '/var/log/trex/trex_daemon_server.log'
что странно здесь является то, что даже some error
печати в не печатается.
Я Googled немного и узнал, что это может быть вызвано ошибкой отступа (see here for example), но я думаю, что это не так ...
Что еще может быть проблема?
Спасибо,
Я не могу воспроизвести это. EnvironmentError поднимается, если я пытаюсь это сделать –
@ cyber101 Вы уверены, что программа остановлена? Может быть, исключение просто регистрируется. –