Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dalam Blok `kecuali` Python Tunggal?

Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dalam Blok `kecuali` Python Tunggal?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 12:46:11912semak imbas

How Can I Catch Multiple Exceptions in a Single Python `except` Block?

Menangkap Pelbagai Pengecualian dalam Satu Baris dengan Blok Kecuali Python

Dalam Python, anda boleh menangkap pelbagai pengecualian menggunakan blok 'kecuali' . Secara tradisinya, pengendalian berbilang pengecualian yang terlibat menggunakan beberapa klausa 'kecuali' individu:

try:
    # Code that may fail
except IDontLikeYouException:
    # Handle IDontLikeYouException
except YouAreTooShortException:
    # Handle YouAreTooShortException

Walau bagaimanapun, jika anda perlu mengendalikan pengecualian yang sama sebagai tindak balas kepada beberapa pengecualian lain, pendekatan yang lebih ringkas wujud.

Menangkap Pelbagai Pengecualian dengan Tuple

Dengan mengumpulkan pengecualian ke dalam tuple, anda boleh mengendalikan kejadiannya dalam satu blok 'except':

try:
    # Code that may fail
except (IDontLikeYouException, YouAreBeingMeanException) as e:
    # Handle both exceptions

Dalam kod ini, tuple '(IDontLikeYouException, YouAreBeingMeanException)' menentukan bahawa blok 'except' akan dilaksanakan jika salah satu daripada itu pengecualian dinaikkan.

Contoh Penggunaan

Pertimbangkan kod di bawah:

def say_please():
    print("Please...")

try:
    raise IDontLikeYouException()
except (IDontLikeYouException, YouAreBeingMeanException):
    say_please()

Apabila fungsi 'say_please()' dipanggil dalam blok 'except', ia mencetak "Sila...". Ini menunjukkan cara pengendalian berbilang pengecualian menggunakan tuple memudahkan pengendalian pengecualian.

Nota untuk Python 2

Dalam Python 2, anda boleh menyertakan nama pembolehubah secara pilihan selepas kurungan penutup daripada tuple, tetapi ia tidak diperlukan dan ditamatkan dalam Python 3. Sebaliknya, gunakan 'as' untuk mengikat objek pengecualian kepada pembolehubah:

try:
    # Code that may fail
except (IDontLikeYouException, YouAreBeingMeanException) as e:
    # Handle both exceptions

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dalam Blok `kecuali` Python Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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