Pengenalan:
Dalam pengaturcaraan Python, lekukan memainkan peranan penting dalam menentukan blok kod. Walau bagaimanapun, senario tertentu boleh membawa kepada ralat lekukan yang tidak dijangka, walaupun apabila inden kelihatan betul. Satu ralat sedemikian berlaku apabila blok "cuba" tidak diikuti oleh blok "kecuali" atau "akhirnya" yang sepadan.
Masalahnya:
Pertimbangkan kod berikut :
<code class="python">def first_function(x): try: return do_something_else() def second_function(x, y, z): pass</code>
Apabila cuba melaksanakan kod ini, anda mungkin menghadapi ralat:
def second_function(x, y, z): ^ IndentationError: unexpected unindent
Punca:
Ralat ini timbul kerana Python menjangkakan blok "kecuali" atau "akhirnya" yang sepadan selepas setiap blok "cuba". Tanpa satu, jurubahasa mentafsirkan kod berikutnya sebagai berada dalam blok "cuba" yang belum selesai, mengakibatkan ralat lekukan.
Penyelesaian:
Untuk menyelesaikan ralat ini , cuma tambah blok "kecuali" atau "akhirnya" kosong selepas blok "cuba", seperti berikut:
<code class="python">def first_function(x): try: return do_something_else() except: pass def second_function(x, y, z): pass</code>
Sebagai alternatif, anda boleh mengendalikan kemungkinan pengecualian dengan lebih jelas dengan menyatakan jenis pengecualian yang anda harapkan pertemuan:
<code class="python">def first_function(x): try: return do_something_else() except Exception as e: print(f"An error occurred: {e}") def second_function(x, y, z): pass</code>
Kesimpulan:
Ralat lekukan dalam Python boleh mengelirukan, terutamanya apabila lekukan kelihatan betul. Ingat bahawa setiap blok "cuba" mesti disertakan dengan sekurang-kurangnya satu blok "kecuali" atau "akhirnya" yang sepadan untuk mengelakkan ralat yang tidak dijangka.
Atas ialah kandungan terperinci Mengapa Python Membuang IndentationError Selepas Sekatan \'cuba\' Tidak Berpasangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!