我正在使用this scrapy管道。如果insert_record函数中的sql中有任何错误,它将以静默方式失败。例如,如果列名拼写错误,例如
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方法,但是没有被调用。如何捕获和处理此类错误?
最佳答案
只需用try包围它...除了
try:
result = tx.execute(
"""INSERT INTO table(col_one, col_typo, col_three) VALUES (1,2,3)"""
)
except Exception,e:
print str(e)
关于mysql - 使用MySQL与扭曲的adbapi和scrapy进行异常处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34054094/