一、前言
最近本都是開開心心的打開電腦寫一些祖傳BUG

但一個報錯阻礙了我寫BUG的進度!
這年代還有能阻礙我寫BUG的報錯???

二、解決程序
一個新專案要做token認證,所以拷了原來的專案代碼
沒錯,高級CV工程師就是我!!!
加入了一些token配置資訊后,啟動專案準備除錯,

啟動很成功沒有任何報錯,
然后啟動前端專案開始一天的寫BUG時間!
結果登錄的時候就報錯了!!

把之前專案的代碼拷過來還會報錯?
有點奇怪,但都是小場面!

開始除錯
結果一看錯誤日志,有點慌了!
是restframework內部(第三方包)報出的錯誤!
如果是自己的代碼報錯,還可以根據哪行報錯和錯誤資訊去排查原因(一般自己代碼報錯都是秒改)
第三包內部報的錯,如果沒有明顯的錯誤提示排查就要花費些時間!

稍微有點慌!

報錯日志分析出來暫時沒有提供什么有用的資訊!

跳轉到第三包原始碼內部,還是沒有看出為啥報錯!

經除錯,再次確認并未走進我的方法

然后上百度大法,通過百度大致定位到問題
test = (1)
for i in test:
print(i)
上述代碼執行時會報不可迭代的錯誤
test=(1),test的型別并不是一個元組
而是直接把1賦值給了test,這個時候的test是等于1的
所以在迭代test的時候才會報不可迭代的錯誤!

要定義元組的話,應該這樣定義:test = (1,)
這個時候test就是一個可迭代的物件了
聯想到最開始更改了django 的組態檔,回傳去查看
果然!! 少了一個逗號!

加上后,問題解決!!!

三、總結
錯誤本身很簡單,只是開始原始碼報錯讓我有點沒有解決思路!
還是經驗太少了!
相信再干100年,向天再借500年!
遇到類似的問題,就能夠快速的定位并解決了!!
小伙伴們點贊、收藏、評論是對我最大的支持!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/293655.html
標籤:其他
