Penanganan Coba/Kecuali & Kesalahan Python
Cegah skrip Python Anda agar tidak mogok. Pelajari blok coba, kecuali, akhirnya, dan cara memunculkan pengecualian khusus dengan benar.
Ikhtisar
Dalam dunia pemrograman nyata, kesalahan tidak bisa dihindari. File mungkin terhapus, koneksi jaringan mungkin terputus, atau pengguna mungkin memasukkan huruf saat skrip Anda mengharapkan angka. Jika skenario ini terjadi tanpa perlindungan, Python menghentikan eksekusi dan memunculkan Pengecualian (kesalahan waktu proses), sehingga membuat seluruh program mogok. Penanganan kesalahan adalah seni mengantisipasi dan mengelola kegagalan ini dengan baik.
Dasar dari manajemen kesalahan dengan Python adalah struktur blok `coba` dan `kecuali`. Anda menempatkan kode yang berpotensi berbahaya di dalam blok `coba`. Python akan mencoba menjalankannya. Jika terjadi kesalahan, alih-alih mogok, Python mencegat pengecualian tersebut dan segera melompat ke bawah untuk mengeksekusi kode yang terdapat dalam blok `kecuali`. Hal ini memungkinkan program untuk pulih, menampilkan pesan kesalahan yang ramah, dan terus berjalan.
Ini adalah praktik terbaik yang penting untuk menangkap pengecualian yang spesifik dan bertarget daripada menulis blok `kecuali:` secara menyeluruh. Misalnya, menangkap `FileNotFoundError` atau `ValueError` secara eksplisit memastikan Anda menangani masalah persis seperti yang Anda antisipasi, daripada menyembunyikan bug yang tidak terkait secara tidak sengaja (seperti kesalahan sintaksis) yang benar-benar perlu Anda ketahui.
Python juga menyediakan blok `else` opsional, yang dijalankan hanya jika blok `coba` berhasil diselesaikan sepenuhnya tanpa menimbulkan kesalahan apa pun. Ini adalah tempat yang tepat untuk meletakkan logika yang sangat bergantung pada keberhasilan operasi berbahaya. Selain itu, blok `finally` menyediakan cara untuk mengeksekusi kode apa pun yang terjadi—apakah terjadi kesalahan atau tidak. Blok `akhirnya` sangat penting untuk tindakan pembersihan, seperti menutup koneksi database atau melepaskan kunci file.
Selain menangkap kesalahan, Python memungkinkan pengembang untuk memicu kesalahan tersebut secara eksplisit menggunakan kata kunci `raise`. Menaikkan pengecualian memungkinkan Anda menerapkan batasan ketat pada logika Anda, menolak data yang tidak valid sebelum data tersebut merusak status aplikasi Anda. Dengan mendefinisikan kelas pengecualian khusus yang mewarisi kelas `Pengecualian` dasar Python, pengembang dapat membuat hierarki kesalahan yang sangat spesifik untuk domain untuk aplikasi perusahaan besar.
Kode & Output Eksekusi
Menciptakan keamanan struktural saat berinteraksi dengan struktur file yang berpotensi berbahaya atau tidak ada.
def divide_numbers(a, b):
try:
result = a / b
except ZeroDivisionError:
return "Error: Cannot divide by zero!"
except TypeError:
return "Error: Both arguments must be numbers."
else:
return f"The result is {result}"
finally:
print("Execution completed.")
print(divide_numbers(10, 2))
print(divide_numbers(10, 0))Execution completed.
The result is 5.0
Execution completed.
Error: Cannot divide by zero!Implementasi Langkah demi Langkah
- Memvalidasi pengiriman formulir pengguna
- Memastikan permintaan jaringan tidak mogok saat batas waktu habis
- Menutup koneksi database dengan aman di blok akhirnya
Pertanyaan yang Sering Diajukan
Apa kata kunci "naikkan"?
Kata kunci raise digunakan untuk menaikkan pengecualian dengan sengaja. Anda dapat menentukan jenis kesalahan yang akan dimunculkan, dan teks yang akan dicetak kepada pengguna.
Topik Terkait
Fungsi master Python. Pelajari cara menulis kode yang dapat digunakan kembali menggunakan def, menentukan argumen, mengembalikan nilai, dan memahami cakupan lokal dan global.
Kelas Python dan Pemrograman Berorientasi ObjekPengenalan lengkap tentang kelas, objek, pewarisan, dan konsep OOP Python. Buat model data yang kuat dan skalakan aplikasi python Anda.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Mengurutkan Daftar dengan Python
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Lembar
Panduan referensi untuk jenis kesalahan umum Python. Pelajari cara men-debug ValueError, TypeError, IndexError, KeyError, dan memunculkan pengecualian.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.