导航:首页 > 编程语言 > python捕捉子方法的异常

python捕捉子方法的异常

发布时间:2023-10-29 18:47:20

python中主线程怎样捕获子线程的异常

最近因为别的需求,写了一个模块,似乎在这里能用得上:

https://github.com/SakuraSa/ChatProcess


其中的 example.py :

#!/usr/bin/envpython
#coding=utf-8

"""
example
"""

__author__='Rnd495'

fromtimeimportsleep
fromChatProcessimportChatroom


classEcho(Chatroom):
"""
Echo
"""
defresponse(self,data):
ifdata.startswith('sleep'):
sec=float(data[6:])
sleep(sec)
return'wakeupafter%dms'%(sec*1000)
elifdata:
returndata
else:
self.stop()
return'goodbye'


if__name__=='__main__':
,ProcessError

print'process01:'
e=Echo.create_process(lifetime=1).start()
printe.chat('Helloworld!'),e.remain
printe.chat('sleep:0.1'),e.remain
printe.chat(''),e.remain

print''
print'process02:'
e=Echo.create_process(lifetime=1).start()
try:
printe.chat('Helloworld!'),e.remain
printe.chat('sleep:1.0'),e.remain
printe.chat(''),e.remain
exceptTimeoutError,error:
print'error:',error

print''
print'process03:'
e=Echo.create_process(lifetime=1).start()
try:
printe.chat('Helloworld!'),e.remain
printe.chat('sleep:notanum'),e.remain
printe.chat(''),e.remain
exceptProcessError,error:
print'error:',error


运行结果为:

process01:
Helloworld!0.773000001907
wakeupafter100ms0.549000024796
goodbye0.547000169754

process02:
Helloworld!0.868000030518
error:TimeoutError

process03:
Helloworld!0.868000030518
error:('Erroroccurredonloop',ValueError('couldnotconvertstringtofloat:notanum',))


在其中的 process01 中,主进程捕获了 超时

在其中的 process02 中,主进程捕获了 子进程的错误


不知道你能不能用得上

阅读全文

与python捕捉子方法的异常相关的资料

热点内容
app播客是怎么赚钱的 浏览:380
东南亚服务器是什么档次 浏览:132
手机app怎么操控电热水器 浏览:839
python爬虫框架推荐 浏览:518
matlab遗传算法适应度函数 浏览:130
制作linux系统镜像 浏览:154
域名解析服务器ip地址不能正常 浏览:845
程序员十万个为什么 浏览:535
维信卡卡贷app怎么下载不了 浏览:919
qdim命令使用 浏览:873
截图R命令 浏览:654
基于单片机的智能台灯设计 浏览:685
多余app是怎么兑换皮肤的 浏览:552
sql数据库查询表命令 浏览:551
简单音乐网站源码 浏览:644
运动健康app华为手表怎么连接 浏览:748
肌肉塑造全书pdf下载 浏览:796
安卓简约拼图用什么软件好 浏览:289
fx1n加密程序 浏览:844
淘客阿里云服务器 浏览:476