如何让Application.OnException能捕获子线程的异常
2个回答
2016-07-01 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
关注
展开全部
最近因为别的需求,写了一个模块,似乎在这里能用得上: https://github.com/SakuraSa/ChatProcess 其中的 example.py : #!/usr/bin/env python# coding = utf-8"""example"""__author__ = 'Rnd495'from time import sleepfrom ChatProcess import Chatroomclass Echo(Chatroom): """ Echo """ def response(self, data): if data.startswith('sleep'): sec = float(data[6:]) sleep(sec) return 'wake up after %dms' % (sec * 1000) elif data: return data else: self.stop() return 'goodbye'if __name__ == '__main__': from ChatProcess import TimeoutError, ProcessError print 'process 01:' e = Echo.create_process(lifetime=1).start() print e.chat('Hello world!'), e.remain print e.chat('sleep:0.1'), e.remain print e.chat(''), e.remain print '' print 'process 02:' e = Echo.create_process(lifetime=1).start() try: print e.chat('Hello world!'), e.remain print e.chat('sleep:1.0'), e.remain print e.chat(''), e.remain except TimeoutError, error: print 'error:', error print '' print 'process 03:' e = Echo.create_process(lifetime=1).start() try: print e.chat('Hello world!'), e.remain print e.chat('sleep:not a num'), e.remain print e.chat(''), e.remain except ProcessError, error: print 'error:', error 运行结果为: process 01:Hello world! 0.773000001907wake up after 100ms 0.549000024796goodbye 0.547000169754process 02:Hello world! 0.868000030518error: TimeoutErrorprocess 03:Hello world! 0.868000030518error: ('Error occurred on loop', ValueError('could not convert string to float: not a num',)) 在其中的 process01 中,主进程捕获了 超时 在其中的 process02 中,主进程捕获了 子进程的错误 不知道你能不能用得上
展开全部
try except 然后编译的时候 project - options - compiler - Debugging 勾上 Use Debug DCUs 试试,这个不是delphi的错误 是系统返回的
try except 然后编译的时候 project - options - compiler - Debugging 勾上 Use Debug DCUs 试试,这个不是delphi的错误 是系统返回的
try except 然后编译的时候 project - options - compiler - Debugging 勾上 Use Debug DCUs 试试,这个不是delphi的错误 是系统返回的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询