Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menangkap Pelbagai Pengecualian dalam Blok `kecuali` Python Tunggal?
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!