2015-12-02 76 views
0

我正在使用this scrapy管道。如果insert_record函數中的sql存在任何錯誤,它將自動失敗。例如,如果一個列名是誤拼寫,這樣異常處理使用MySQL與扭曲的adbapi和scrapy

def _insert_record(self, tx, item): 
     print "before tx.execute" 
     result = tx.execute(
     """ INSERT INTO table(col_one, col_typo, col_three) VALUES (1,2,3)""" 
     ) 
     print "after tx.execute" 
     if result > 0: 
      self.stats.inc_value('database/items_added') 

那麼沒有什麼是後「之前執行」輸出。有一個handle_error方法,但是這也沒有被調用。我怎樣才能捕捉並處理這些錯誤?

回答

0

只是需要與試圖將其包圍......除了

try: 
    result = tx.execute(
    """INSERT INTO table(col_one, col_typo, col_three) VALUES (1,2,3)""" 
    ) 
except Exception,e: 
    print str(e)