相关疑难解决方法(0)

每次引发异常时调用一个钩子函数

假设我希望每次在我的程序中的任何地方引发任何异常时都能记录到文件.我不想修改任何现有代码.

当然,这可以推广到每次引发异常时都能插入一个钩子.

以下代码是否可以被认为是安全的做这样的事情?

class MyException(Exception):

    def my_hook(self):
        print('---> my_hook() was called');

    def __init__(self, *args, **kwargs):
        global BackupException;
        self.my_hook();
        return BackupException.__init__(self, *args, **kwargs);


def main():
    global BackupException;
    global Exception;

    BackupException = Exception;
    Exception = MyException;

    raise Exception('Contrived Exception');


if __name__ == '__main__':
    main();
Run Code Online (Sandbox Code Playgroud)

python exception

13
推荐指数
3
解决办法
6064
查看次数

标签 统计

exception ×1

python ×1