簡體   English   中英

python中發生錯誤時的異常處理

[英]Handling exception if error occurs in python

我在嘗試解析 JSON 字符串時收到幾條記錄的錯誤,我無法處理異常,如果在解析 JSON 字符串時發生錯誤,則跳過該記錄並移至下一條記錄。

這是代碼片段。

ID=[]
json_string=[]
for row in cursor.fetchall():
 ID.append(row[0]) 
 json_string.append(row[1])
address_fields = {
'intersection': [],        
'political': [],        
'country': [], 
}
dumpData = json.dumps(json_string)
json_all = json.loads(dumpData)

id_index = 0
for json_str in json_all:
     address_fields = {
      'intersection': [],        
      'political': [],        
      'country': [], 
      }
     try:
      json_results = json.loads(json_str)
     except IndexError:
      continue


     if isinstance(json_results,dict):
         first_address_components = json_results['results'][0]['address_components']
     else:
         first_address_components = json_results[0]['address_components']
     for item in first_address_components:
         for field_key in address_fields.keys():
            if field_key in item['types']:
               address_fields[field_key].append(item['long_name'])

我首先從 sql 表中獲取數據並存儲獲取的 JSON_string 及其 ID,然后嘗試解析 JSON 字符串並更新 sql 表中的那些,因此對於那些出現錯誤的 JSON 字符串,我想跳過該行並移至下一條記錄. 但這並沒有完成。 盡管如此,我還是無法處理異常。 任何相同的幫助都會有所幫助。

謝謝。

而不是這個

try:
  json_results = json.loads(json_str)
except IndexError:
  continue

做這個。

try:
    json_results = json.loads(json_str)
except:
     pass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM