Rumah >pembangunan bahagian belakang >Tutorial Python >Panduan Pengendalian Pengecualian Python

Panduan Pengendalian Pengecualian Python

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-02-17 08:50:08436semak imbas

A Guide to Python Exception Handling

Artikel ini meneroka mekanisme pengendalian pengecualian Python, aspek penting pengaturcaraan yang mantap. Kami akan mengkaji perbezaan antara kesilapan dan pengecualian sintaks, dan bagaimana untuk menguruskan ralat runtime dengan anggun untuk mencegah kemalangan program.

Dua jenis ralat utama wujud dalam python: ralat sintaks dan pengecualian. Kesilapan sintaks berpunca daripada struktur kod, lekukan, atau sintaks yang salah, menyebabkan penamatan program segera. Pengecualian, sebaliknya, adalah anomali runtime yang mengganggu aliran program. Pengendalian pengecualian yang berkesan adalah penting untuk membuat aplikasi yang berdaya tahan. Pendekatan Python sering mengutamakan "melakukan perkara itu dan meminta pengampunan" daripada pemeriksaan pencegahan yang luas.

Konsep Utama:

    pengendalian pengecualian Python bergantung pada
  • dan try blok. Blok except mengandungi kod yang berpotensi bermasalah, manakala try menentukan tindakan yang diambil apabila pengecualian timbul. Pengendalian pengecualian yang tepat memudahkan debugging. except
  • Python menawarkan banyak pengecualian terbina dalam (mis.,
  • , ArithmeticError, ImportError) untuk pelbagai jenis ralat. Pengecualian adat, yang mewarisi dari kelas Python NameError, memenuhi keperluan aplikasi tertentu. Exception Klausa
  • dan else meningkatkan pengendalian pengecualian. Blok finally dilaksanakan jika tiada pengecualian berlaku dalam blok else. Blok try selalu dilaksanakan, tanpa mengira pengecualian, sering digunakan untuk tugas pembersihan (seperti fail penutup). finally
  • (Python 3.11) mengendalikan pelbagai pengecualian yang tidak berkaitan secara serentak, menggunakan klausa ExceptionGroup untuk pengendalian yang disasarkan pengecualian individu dalam kumpulan. except*
pengendalian pengecualian python secara terperinci:

Python menggunakan

dan

untuk menguruskan pengecualian. Blok try menyertakan kod yang mungkin menimbulkan pengecualian. except blok menangkap dan mengendalikan pengecualian tertentu. try except

Contoh:

bukannya kemalangan program dari

, kita boleh menggunakan:

print(3/0)

<code class="language-python">try:
    print(3/0)
except ZeroDivisionError:
    print("Division by zero error!")</code>
Mengendalikan pelbagai pengecualian:

Blok Multiple

membolehkan pengendalian yang berbeza dari jenis pengecualian yang berbeza:

except

<code class="language-python">try:
    number = 'one'
    print(number + 1)
except TypeError:
    print("Type mismatch!")
except NameError:
    print("Variable undefined!")</code>
Pengendalian Pengecualian Generik:

klausa generik

menangkap sebarang pengecualian yang tidak ditandakan:

except

<code class="language-python">try:
    # ... some code ...
except TypeError:
    # ... handle TypeError ...
except:  # Catches all other exceptions
    print("An unexpected error occurred.")</code>
pernyataan

: raise Kata kunci mencetuskan pengecualian secara programatik:

raise

klausa
<code class="language-python">def check_age(age):
    if age < 0:
        raise ValueError("Age cannot be negative.")</code>
:

blok else hanya melaksanakan jika tiada pengecualian berlaku di blok try:

<code class="language-python">try:
    print(3/0)
except ZeroDivisionError:
    print("Division by zero error!")</code>

klausa finally:

blok finally selalu dilaksanakan, tanpa mengira pengecualian, untuk pembersihan:

<code class="language-python">try:
    number = 'one'
    print(number + 1)
except TypeError:
    print("Type mismatch!")
except NameError:
    print("Variable undefined!")</code>

Kumpulan Pengecualian (): ExceptionGroup

Python 3.11 diperkenalkan

untuk menguruskan pelbagai pengecualian. ExceptionGroup Menyediakan pengendalian berbutir pengecualian individu dalam kumpulan: except*

<code class="language-python">try:
    # ... some code ...
except TypeError:
    # ... handle TypeError ...
except:  # Catches all other exceptions
    print("An unexpected error occurred.")</code>

Pengecualian yang ditakrifkan pengguna:

Buat pengecualian tersuai dengan mewarisi dari kelas

: Exception

<code class="language-python">def check_age(age):
    if age < 0:
        raise ValueError("Age cannot be negative.")</code>

Kesimpulan:

Pengendalian pengecualian yang berkesan adalah penting untuk membina aplikasi python yang boleh dipercayai. Memahami nuansa

, try, except, else, dan finally memberi kuasa kepada pemaju untuk mewujudkan perisian yang teguh dan toleran. Ingatlah untuk mengendalikan pengecualian secara khusus di mana mungkin untuk debugging dan penyelenggaraan yang lebih mudah. ​​ExceptionGroup

Atas ialah kandungan terperinci Panduan Pengendalian Pengecualian 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