在Python 腳本中,使用者在執行期間遇到「資料被列'xxx'截斷」警告MySQL 查詢。但是,下面的程式碼未能捕獲這些警告。
<code class="python">import MySQLdb try: cursor.execute(some_statement) # code steps always here: No Warning is trapped # by the code below except MySQLdb.Warning, e: # handle warnings, if the cursor you're using raises them except Warning, e: # handle warnings, if the cursor you're using raises them</code>
MySQL 中的警告不會作為錯誤等異常引發。相反,它們會報告給 stderr。若要擷取和處理警告,您可以使用警告模組。這是更新的程式碼片段:
<code class="python">import warnings import MySQLdb # Configure warnings to be turned into exceptions warnings.filterwarnings('error', category=MySQLdb.Warning) # Execute the query and handle the warnings try: cursor.execute(some_statement) except MySQLdb.Warning: # Handle the warning as an exception except Exception: # Handle other exceptions</code>
透過使用warnings.filterwarnings('error',category=MySQLdb.Warning),您可以指示Python 將警告作為異常引發,從而允許您在try/SQLdb.Warning),您可以指示Python 將警告作為異常引發,從而允許您在try/SQLdb 中捕獲它們除了阻止並採取適當的行動。
以上是以下是根據您提供的文字提供的一些標題,請記住問題格式: * **如何在 Python 中處理 MySQL 警告? * **為什麼我的 Python 程式碼不運行的詳細內容。更多資訊請關注PHP中文網其他相關文章!