我有一個python代碼,它查詢psql並使用cursor.fetchall()
返回一批結果。 由於數據庫中的數據不正確,它會拋出一個異常並且在轉換失敗時失敗進程。 我得到這個異常:psql強制解析錯誤cursor.fetchall()
File "/usr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/cursor.py", line 377, in fetchall return [self._build_row() for _ in xrange(size)] File "/usr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/cursor.py", line 891, in _build_row self._casts[i], val, length, self) File "/usr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/typecasts.py", line 71, in typecast return caster.cast(value, cursor, length) File "/usr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/typecasts.py", line 39, in cast return self.caster(value, length, cursor) File "/usr/local/lib/python2.7/site-packages/psycopg2cffi/_impl/typecasts.py", line 311, in parse_date raise DataError("bad datetime: '%s'" % bytes_to_ascii(value)) DataError: bad datetime: '32014-03-03'
有沒有辦法告訴施法者忽略這個錯誤,並分析這是一個字符串,而不是失敗的整批?
感謝您的快速回復!第二個解決方案是我想要做的,但'psycopg2cffi'是我正在使用的一個python庫,如果我在代碼中捕獲到異常,那麼'fetchall()'將不會完全執行一個保留空 –