Rumah > pembangunan bahagian belakang > Tutorial Python > Main dengan mudah dengan pengendalian pengecualian Python dan ucapkan selamat tinggal kepada mimpi ngeri kegagalan kod

Main dengan mudah dengan pengendalian pengecualian Python dan ucapkan selamat tinggal kepada mimpi ngeri kegagalan kod

PHPz
Lepaskan: 2024-02-25 16:10:13
ke hadapan
559 orang telah melayarinya

轻松玩转 Python 异常处理,告别代码故障的噩梦

1. Pengecualian dan jenisnya

Dalam python, pengecualian merujuk kepada ralat atau masalah yang dihadapi semasa pelaksanaan program. Pengecualian boleh disebabkan oleh pelbagai sebab, termasuk ralat sintaks dalam kod, ralat masa jalan, ralat memori, ralat input/output, dsb. Python mempunyai banyak kelas pengecualian terbina dalam untuk mewakili jenis ralat yang berbeza. Contohnya:

  • SyntaxError: Terdapat ralat sintaks dalam kod.
  • TypeError: Jenis data tidak sepadan.
  • ValueError: Fungsi atau kaedah mempunyai parameter yang salah.
  • IndexError: Senarai atau indeks tuple berada di luar batasan.
  • KeyError: Kunci yang ditentukan tidak wujud dalam kamus.

2. Kenyataan pengendalian pengecualian

Terdapat tiga jenis pernyataan pengendalian pengecualian dalam Python: cuba/kecuali/akhirnya. Mereka boleh digunakan untuk menangkap dan mengendalikan pengecualian.

  • cuba: Blok cuba digunakan untuk melaksanakan kod yang mungkin membuang pengecualian.
  • kecuali: Blok pernyataan except digunakan untuk menangkap dan mengendalikan pengecualian.
  • akhirnya: Blok pernyataan akhirnya digunakan untuk kod yang dilaksanakan selepas blok pernyataan cuba/kecuali dilaksanakan.

Contoh:

try:
# 可能会引发异常的代码
except Exception as e:
# 捕获并处理异常
print("An exception occurred:", e)
finally:
# 无论是否发生异常,都会执行的代码
print("Finally block executed.")
Salin selepas log masuk

3. Menangkap dan mengendalikan pengecualian

Untuk menangkap dan mengendalikan pengecualian, anda boleh menggunakan blok pernyataan cuba/kecuali. Blok cuba digunakan untuk melaksanakan kod yang mungkin membuang pengecualian, dan blok kecuali digunakan untuk menangkap dan mengendalikan pengecualian.

Contoh:

try:
# 可能会引发 TypeError 的代码
x = int("abc")
except TypeError as e:
# 捕获并处理 TypeError 异常
print("TypeError occurred:", e)
Salin selepas log masuk

4. Pengecualian lontaran

Pengecualian boleh dilemparkan menggunakan pernyataan raise. Kenyataan kenaikan itu secara eksplisit menimbulkan pengecualian supaya ia boleh ditangkap dan dikendalikan pada titik yang sesuai dalam program.

Contoh:

def divide(a, b):
if b == 0:
raise ValueError("Cannot divide by zero.")
return a / b

try:
result = divide(10, 0)
except ValueError as e:
print("ValueError occurred:", e)
Salin selepas log masuk

5. Pengecualian tersuai

Python membenarkan kami menyesuaikan kelas pengecualian untuk memberikan maklumat yang lebih terperinci untuk jenis ralat tertentu. Kelas pengecualian tersuai boleh mewarisi daripada kelas Pengecualian terbina dalam.

Contoh:

class MyError(Exception):
pass

try:
# 可能会引发 MyError 的代码
raise MyError("This is a custom error message.")
except MyError as e:
print("MyError occurred:", e)
Salin selepas log masuk

Ringkasan

Pengendalian pengecualian Python ialah bahagian penting pengaturcaraan Ia boleh membantu kami menangani ralat dalam kod dengan anggun dan mengelakkan ranap program. Artikel ini memperkenalkan asas pengendalian pengecualian Python dan menunjukkan melalui kod demo cara menggunakannya untuk menangkap dan mengendalikan pengecualian.

Atas ialah kandungan terperinci Main dengan mudah dengan pengendalian pengecualian Python dan ucapkan selamat tinggal kepada mimpi ngeri kegagalan kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan