Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Teknik pengendalian pengecualian dalam Python

Teknik pengendalian pengecualian dalam Python

WBOY
WBOYasal
2023-06-09 23:04:361240semak imbas

Dalam pengaturcaraan Python, apabila ralat atau pengecualian berlaku semasa pelaksanaan kod, atur cara akan berhenti melaksanakan. Untuk membolehkan program meneruskan pelaksanaan apabila pengecualian berlaku, Python menyediakan mekanisme pengendalian pengecualian. Artikel ini akan memperkenalkan pembaca kepada teknik pengendalian pengecualian dalam Python.

  1. penyataan cuba-kecuali

Dalam Python, anda boleh menggunakan pernyataan cuba-kecuali untuk mengendalikan pengecualian. Format asasnya adalah seperti berikut:

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码

Dalam pernyataan cuba-kecuali ini, kod yang mungkin menyebabkan pengecualian perlu diletakkan dalam blok kod cuba. Jika pengecualian berlaku dalam kod dalam blok kod cuba, ia akan melompat ke blok kod kecuali untuk pelaksanaan dan bukannya menamatkan program secara terus.

Perlu diambil perhatian bahawa Pengecualian dalam penyataan kecuali ialah jenis pengecualian umum Jika anda mahu mengendalikan hanya jenis pengecualian tertentu, anda boleh menggantikan Pengecualian dengan jenis pengecualian tertentu. Contohnya:

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print('除数不能为0。')

Dalam kod ini, kami menyatakan bahawa kami hanya mengendalikan pengecualian seperti ZeroDivisionError. Jika jenis pengecualian lain berlaku dalam blok kod cuba, program akan ranap secara langsung.

  1. penyataan try-except-else

Selain pernyataan try-except, Python juga menyediakan pernyataan try-except-else. Format asasnya adalah seperti berikut:

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码
else:
    # 如果没有出现异常,执行这里的代码

Dalam pernyataan ini, kod dalam blok kod else hanya akan dilaksanakan apabila kod dalam blok kod cuba tidak menyebabkan pengecualian. Kenyataan ini sangat berguna apabila memproses operasi tertentu yang memerlukan operasi seterusnya berdasarkan hasil pelaksanaan kod.

  1. penyataan try-except-finally

Selain pernyataan try-except-else, Python juga menyediakan pernyataan try-except-finally. Format asasnya adalah seperti berikut:

try:
    # 可能会出现异常的代码
except Exception as e:
    # 如果出现异常,执行这里的代码
finally:
    # 无论有没有出现异常,都会执行这里的代码

Dalam pernyataan ini, kod dalam blok kod akhirnya akan dilaksanakan tanpa mengira sama ada pengecualian berlaku dalam kod dalam blok kod cuba. Kenyataan ini sangat berguna apabila kerja pembersihan diperlukan, seperti menutup fail, menutup sambungan pangkalan data, dsb.

  1. Lemparkan pengecualian

Dalam Python, anda juga boleh menggunakan kenyataan raise untuk membuang pengecualian secara manual. Format asasnya adalah seperti berikut:

raise Exception('错误信息')

Dalam pernyataan ini, kami secara manual membuang Pengecualian dan menghantar mesej ralat. Pernyataan ini berguna apabila anda perlu mengesan situasi tertentu secara manual dan membuang pengecualian.

  1. Pengecualian tersuai

Selain menggunakan jenis pengecualian yang disertakan dengan Python, anda juga boleh menyesuaikan jenis pengecualian. Format asasnya adalah seperti berikut:

class CustomException(Exception):
    pass

Dalam kod ini, kami mentakrifkan jenis pengecualian bernama CustomException dan biarkan ia mewarisi daripada Exception. Dalam pengaturcaraan sebenar, kami boleh menyesuaikan jenis pengecualian yang berbeza mengikut keperluan untuk menjadikan kod lebih mudah dibaca dan diselenggara.

Ringkasan

Pengendalian pengecualian ialah bahagian yang sangat penting dalam pengaturcaraan Python. Dengan menggunakan penyataan cuba-kecuali-lain, penyataan cuba-kecuali-akhirnya, dan tingkatkan penyataan, program boleh terus dijalankan apabila pengecualian berlaku, sekali gus meningkatkan keteguhan dan kestabilan program. Pada masa yang sama, jenis pengecualian tersuai boleh menjadikan kod lebih mudah dibaca dan lebih mudah diselenggara.

Atas ialah kandungan terperinci Teknik pengendalian pengecualian dalam Python. 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