Python中的类级别返回/退出
在我的应用程序中,有一个循环,每次循环都会创建一个类的实例,这个类会执行一些操作。在这个类里,我有一个信号定时器,当它被调用时,应该优雅地退出当前的循环回合,让下一个操作可以继续进行,而不会被打断。
但是现在的情况是,它会抛出一个异常,这个异常应该被一个try-except块捕获。不过,我有一个“loadFinished”的信号(我不知道它的ID是什么),在异常抛出后被调用,这导致了一个运行时异常,而这个异常我无法捕获。
有没有办法像结束一个函数那样,在类的层面上进行返回,如果出现了问题?或者有没有什么类似于sys.exit()的方式,只对这个类有效?
希望我说得够清楚。:) 谢谢你的帮助。
2 个回答
1
如果你说的是像 信号模块 里的信号,那么处理这些信号的方式并不是标准的。
你不能在处理信号的地方抛出一个异常,然后期待这个异常会在你正常的代码中出现。实际上,你应该尽量在处理信号的地方做得少一些,比如设置一个全局标志,或者通过管道发送一个消息。