Bagaimana untuk Memerangkap Amaran MySQL dengan Berkesan dalam Python?

Linda Hamilton
Lepaskan: 2024-10-27 06:04:02
asal
717 orang telah melayarinya

How to Effectively Trap MySQL Warnings in Python?

Memerangkap Amaran MySQL dalam Python

Apabila melaksanakan pertanyaan menggunakan MySQL dalam Python, ada kemungkinan untuk menghadapi amaran seperti "Data dipotong untuk lajur ' xxx'". Untuk mengendalikan amaran ini, seseorang mungkin cuba menggunakan kod berikut:

<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>
Salin selepas log masuk

Walau bagaimanapun, kod ini mungkin tidak berfungsi seperti yang dimaksudkan. Ini kerana amaran dalam MySQL tidak dinaikkan sebagai pengecualian secara lalai.

Untuk mengendalikan amaran dengan berkesan, seseorang perlu mengkonfigurasi perkara yang perlu dilakukan dengannya menggunakan modul amaran Python. Berikut ialah versi kod yang diubah suai yang menunjukkan pendekatan ini:

<code class="python">import warnings
import MySQLdb

warnings.filterwarnings('error', category=MySQLdb.Warning)

try:
    cursor.execute(some_statement)
    # code steps now execute without catching warnings
except MySQLdb.Warning as e:
    # warnings are now raised as exceptions and can be handled here
except MySQLdb.Error as e:
    # handle other errors as usual</code>
Salin selepas log masuk

Dalam kod ini, kami menggunakan warnings.filterwarnings('error', category=MySQLdb.Warning) untuk mengkonfigurasi modul amaran untuk merawat MySQLdb. Amaran amaran sebagai ralat. Ini membolehkan kami menangkap amaran ini menggunakan blok cuba/kecuali kami.

Sebagai alternatif, anda boleh menapis amaran mengikut kriteria lain, seperti rentetan mesej atau modul, memberikan anda kawalan yang lebih besar terhadap cara amaran dikendalikan.

Atas ialah kandungan terperinci Bagaimana untuk Memerangkap Amaran MySQL dengan Berkesan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan