導航:首頁 > 編程語言 > 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捕捉子方法的異常相關的資料

熱點內容
單片機的晶振頻率 瀏覽:481
翻樣軟體加密鎖問題 瀏覽:204
電腦怎麼設置dhcp伺服器地址 瀏覽:591
十天突破雅思寫作劍8pdf 瀏覽:354
如何判定伺服器硬碟燒了 瀏覽:243
數值逼近pdf 瀏覽:706
程序員跪鍵盤 瀏覽:3
江蘇銀行app換設備電話按哪個鍵 瀏覽:235
圖片無損壓縮怎麼辦 瀏覽:6
如何確認伺服器的光口網卡 瀏覽:243
nb1111y壓縮機性能數據 瀏覽:549
下一代編譯器 瀏覽:131
用什麼app可以查產品批號 瀏覽:436
python自動補齊 瀏覽:904
蘋果wifi安卓怎麼連接不上 瀏覽:934
為什麼有的app只能用蘋果支付 瀏覽:175
手游雲頂文件夾 瀏覽:937
msvc和mingw都是編譯器嗎 瀏覽:425
數控機床編程解析 瀏覽:386
新老鳥虛擬資源網解壓碼 瀏覽:561