Python 捕获pyinotify ProcessEvent中的错误

Python 捕获pyinotify ProcessEvent中的错误,python,pyinotify,Python,Pyinotify,我无法从pyinotify捕获事件处理程序中的错误。 我正在尝试对写入后刚刚关闭的文件进行一些处理 以下是我的脚本的简化版本: import pyinotify import asyncore mask = pyinotify.IN_CLOSE_WRITE class EventHandler(pyinotify.ProcessEvent): def process_IN_CLOSE_WRITE(self, event): try: do_s

我无法从pyinotify捕获事件处理程序中的错误。 我正在尝试对写入后刚刚关闭的文件进行一些处理

以下是我的脚本的简化版本:

import pyinotify
import asyncore

mask = pyinotify.IN_CLOSE_WRITE

class EventHandler(pyinotify.ProcessEvent):

    def process_IN_CLOSE_WRITE(self, event):
        try:
            do_stuff()
        except BaseException as e:
            print "Exception:" + str(e)
            pass

if __name__ == "__main__":
        try:
                wm = pyinotify.WatchManager()

                notifier = pyinotify.AsyncNotifier(wm, EventHandler())
                wdd = wm.add_watch('/dir-to-watch/', mask, rec=True)
                asyncore.loop()
        except:
                print "Unhandled error!"
                print "Details:" + str(e)
                print "Continuing anyway..."
                pass
似乎当我得到一个错误或异常时,主循环中的exception或事件处理程序中的exception BaseException都没有捕捉到错误或异常

我收到如下开头的消息:

错误:未捕获的python异常,正在关闭通道 (:[Errno 2]没有这样的文件或目录:


所以我的问题是:如何捕获这些异常?

我必须创建一个自定义异步通知程序:

class CustomAsyncNotifier(pyinotify.AsyncNotifier):
        def handle_error(self):
                print "Handling error!"
                print "Guru meditiation #00000025.65045338"
                print ""
                print "Continuing anyway..."
然后更改我的代码以使用它:

if __name__ == "__main__":
        wm = pyinotify.WatchManager()

        notifier = CustomAsyncNotifier(wm, EventHandler())
        wdd = wm.add_watch('/mnt/md0/proxies/', mask, rec=True)
        asyncore.loop()

我必须创建一个自定义异步通知程序:

class CustomAsyncNotifier(pyinotify.AsyncNotifier):
        def handle_error(self):
                print "Handling error!"
                print "Guru meditiation #00000025.65045338"
                print ""
                print "Continuing anyway..."
然后更改我的代码以使用它:

if __name__ == "__main__":
        wm = pyinotify.WatchManager()

        notifier = CustomAsyncNotifier(wm, EventHandler())
        wdd = wm.add_watch('/mnt/md0/proxies/', mask, rec=True)
        asyncore.loop()