0
所以我安排使用除IOLoop add_timeout回調函數的異常
ioloop.IOLoop.instance().add_timeout(time, callback_func)
但我callback_func
可能拋出Exception
,我要趕一個回調。
嘗試了什麼建議this answer但似乎沒有工作。或者,也許我沒有按照正確的方式去做。任何對此的幫助都會很大。
代碼是有點像這樣:
start.py
class Start:
# ... other methods ...
@staticmethod
def initialize():
OtherClass.initialize()
def main():
Start.initialize()
if __name__ == "__main__":
main()
ioloop.IOLoop.instance().start()
other_class.py
class OtherClass:
@staticmethod
def initialize():
ioloop.IOLoop.instance().add_timeout(time, callback_func)
@staticmethod
def callback_func():
# Need to catch any exception which occurs here.
是的異常處理可以在回調函數本身完成,但那不是我正在尋找的。它在許多其他地方以這種方式完成,我希望在普通調用方類「Start」中放置一個可能的解決方案,這樣我就不必爲完整的回調代碼放置'try except'或將其他文件放在其他文件中從類似回調的'Start'調用。 – PratPor
您的解決方案運行良好,並且如預期的那樣。謝謝。但是能不能有更通用的解決方案,可以應用於'Start'類的基礎上。 – PratPor
編輯我的答案 - 我現在說明如何將處理程序移入Start類,並使用Start.initialize中的ExceptionStackContext而不是OtherClass.initialize。 –