Python 連接 MySQL 錯誤處理

2022-08-04 17:39 更新

DB API中定義了一些數(shù)據(jù)庫操作的錯誤及異常,下表列出了這些錯誤和異常:

異常 描述
Warning 當(dāng)有嚴(yán)重警告時觸發(fā),例如插入數(shù)據(jù)是被截斷等等。必須是 StandardError 的子類。
Error 警告以外所有其他錯誤類。必須是 StandardError 的子類。
InterfaceError 當(dāng)有數(shù)據(jù)庫接口模塊本身的錯誤(而不是數(shù)據(jù)庫的錯誤)發(fā)生時觸發(fā)。 必須是Error的子類。
DatabaseError 和數(shù)據(jù)庫有關(guān)的錯誤發(fā)生時觸發(fā)。 必須是Error的子類。
DataError 當(dāng)有數(shù)據(jù)處理時的錯誤發(fā)生時觸發(fā),例如:除零錯誤,數(shù)據(jù)超范圍等等。 必須是DatabaseError的子類。
OperationalError 指非用戶控制的,而是操作數(shù)據(jù)庫時發(fā)生的錯誤。例如:連接意外斷開、 數(shù)據(jù)庫名未找到、事務(wù)處理失敗、內(nèi)存分配錯誤等等操作數(shù)據(jù)庫是發(fā)生的錯誤。 必須是DatabaseError的子類。
IntegrityError 完整性相關(guān)的錯誤,例如外鍵檢查失敗等。必須是DatabaseError子類。
InternalError 數(shù)據(jù)庫的內(nèi)部錯誤,例如游標(biāo)(cursor)失效了、事務(wù)同步失敗等等。 必須是DatabaseError子類。
ProgrammingError 程序錯誤,例如數(shù)據(jù)表(table)沒找到或已存在、SQL語句語法錯誤、 參數(shù)數(shù)量錯誤等等。必須是DatabaseError的子類。
NotSupportedError 不支持錯誤,指使用了數(shù)據(jù)庫不支持的函數(shù)或API等。例如在連接對象上 使用.rollback()函數(shù),然而數(shù)據(jù)庫并不支持事務(wù)或者事務(wù)已關(guān)閉。 必須是DatabaseError的子類。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號