Python高階 wxpy學習 異常chu li

2021-08-21 10:55:15 字數 1126 閱讀 7817

若響應中的錯誤碼不為 0,程式將丟擲 responseerror 異常。

class wxpy.responseerror

(err_code, err_msg)[源**]

當 baseresponse 的返回值不為 0 時丟擲的異常

err_code

錯誤碼 (int)

err_msg

錯誤訊息 (文字),但可能為空

捕捉異常:

try:

# 嘗試向某個群員傳送訊息

group.members[3].send('hello')

except responseerror as e:

# 若群員還不是好友,將丟擲 responseerror 錯誤

print(e.err_code, e.err_msg) # 檢視錯誤號和錯誤訊息

通常來說,每個錯誤碼表示一種型別的錯誤。

以下為一些常見的已知錯誤碼。歡迎提交 pr 進行完善。

「` 1205

通常因為操作頻率過高。需要控制頻率,避免再次引起該錯誤。

通常每種操作可有多層頻率限制,而每層頻率限制分為兩個引數:

週期、次數,分布表示: 在 x 週期內,只能傳送 y 個請求。
舉個例子:

對於 傳送訊息 操作,可能會是這樣 (數值為虛構):

層 限制週期 限制次數

1 2 分鐘 120

2 10 分鐘 300

3 1 小時 1000

4 24 小時 2000

可能會有使用者在 1 分鐘內狂發 100 條訊息。

但這樣的頻率不可能維持一整天,所以一天內 3000 條是足夠的。

通常因為操作物件不為好友關係。例如嘗試向一位不為好友的群員傳送訊息時,會引起這個錯誤。

1100, 1101, 1102

通常表示機械人已經掉線,需要重新登入。

請重新初始化 bot 物件,並重新註冊訊息。

因為重新登入後,聊天物件的 user_name 可能已經變化,所以原先的訊息註冊也會因此失效。

Python高階 wxpy學習 用微信監控你的程式

wxpy 提供以下兩種方式來實現這個需求。wxpy.get wechat logger receiver none,name none,level 30 源 引數 receiver 當為 none,true 或字串時,將以該值作為 cache path 引數啟動乙個新的機械人,併發送到該機械人的 檔...

python 高階學習

2 10 匿名函式 lambda 的理解 print filter lambda s s and len s.strip 0,test none,str end lambda s 相當於 def f s s and len s.strip 相當於 return s and len s.strip l...

Python高階學習

1 2 私有屬性是以雙下劃線 開頭的屬性,在類的外部訪問私有屬性將會丟擲異常,提示沒有這個屬性。3 45 class animal 6 location china 7 def init self,name,age 8 self.name name 9 self.age age 1011 locat...