can only concatenate str (not “NoneType“) to str

項(xiàng)目運(yùn)行失敗,但是不知哪里原因?所以新人最重要學(xué)會(huì)添加錯(cuò)誤打印

狀態(tài):想把Python代碼跑起來(lái),但是結(jié)果并不理想?,F(xiàn)在的問(wèn)題是,我都不知道失敗的原因是什么。所以我們?cè)趯懘a的時(shí)候,一定要學(xué)會(huì)添加報(bào)錯(cuò)打印,方便后續(xù)debug跟蹤

           try:
             xxxxxx
           except Exception as e:
           print('報(bào)錯(cuò):' + e)
報(bào)錯(cuò)can only concatenate str (not “NoneType“) to str

后面debug時(shí)候發(fā)現(xiàn),在print打印的時(shí)候報(bào)類型不對(duì)的錯(cuò)誤。websocket建立連接后,打回的message是str字符串,在取出字符串的時(shí)候,發(fā)生的報(bào)錯(cuò)。所以我先將str轉(zhuǎn)為了對(duì)象json.loads(),然后強(qiáng)轉(zhuǎn)需要的類型,但是打印的時(shí)候必須轉(zhuǎn)為str類型打印

        try:
            rsl = json.loads(message)
            if rsl["e"] == "depthUpdate":
                ask = float(rsl['a'][0][0])
                bid = float(rsl['b'][0][0])
                print('binance ask', ask, 'binance bid', bid)
                if self.lastA == ask and self.lastB == bid:
                    return
                else:
                    self.lastA = ask
                    self.lastB = bid
                    self.queue.put([[ask, bid], 0])
            else:
                print("不是depthUpdate")
                print(rsl)
        except Exception as e:
            print('binance行情報(bào)錯(cuò):' + e)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容