Penanganan Pengecualian dengan Python: Menangani Pengecualian Menggunakan Coba Kecuali

Diterbitkan: 2021-06-29

Saat mengalami kesalahan, program Python dihentikan. Error pada umumnya merupakan masalah yang terjadi pada program yang menghentikan eksekusinya. Kesalahan mungkin karena kesalahan dalam sintaks atau mungkin pengecualian. Setiap kali pernyataan yang salah terdeteksi oleh parser, terjadi kesalahan sintaks.

Namun, ketika kode dengan sintaks yang benar menghasilkan kesalahan, maka itu dikenal sebagai pengecualian. Berbagai pengecualian bawaan tersedia di python. Ini dimunculkan dengan terjadinya peristiwa internal di mana aliran normal suatu program akan berubah.

Oleh karena itu pengecualian dapat didefinisikan sebagai kondisi program tertentu yang tidak biasa yang mengakibatkan gangguan kode dan karenanya aliran program dibatalkan.

Eksekusi program berhenti segera setelah menemukan pengecualian. Ini selanjutnya menghentikan kode untuk dieksekusi. Oleh karena itu, pengecualian adalah kesalahan akibat run-time yang tidak dapat ditangani oleh skrip python.

Untuk penanganan exception di python , bahasa scripting python memberikan solusi agar eksekusi kode tetap berjalan dan tidak ada interupsi. Tidak adanya penanganan eksepsi berhenti mengeksekusi kode yang ada setelah kode yang melempar eksepsi.

Beberapa opsi bawaan tersedia dalam python yang memungkinkan eksekusi program tanpa gangguan apa pun termasuk pengecualian umum. Bersamaan dengan ini, ada ketentuan pengecualian khusus python . Untuk program python apa pun, pengecualian umum yang dapat dilemparkan adalah:

  • ZeroDivisionError: Jenis pengecualian ini terjadi ketika nol digunakan untuk membagi angka.
  • NameError: Setiap kali sebuah program gagal menemukan nama baik itu global atau lokal, pengecualian jenis ini terjadi.
  • IndentationError: Indentasi yang salah menimbulkan indentationError.
  • IOError : Kegagalan operasi Input-Output menghasilkan IOError.
  • EOFError: Itu terjadi dalam operasi program yang berkelanjutan bahkan ketika :

akhir file tercapai.

Daftar isi

Mengangkat pengecualian

Untuk melempar pengecualian dalam kondisi tertentu, kenaikan gaji digunakan.
Eksekusi program dihentikan dan pengecualian terkait ditampilkan di layar. Tampilan pengecualian memungkinkan pengguna mengetahui apa yang mungkin menjadi masalah mendasar.

Dalam python melalui penggunaan klausa kenaikan, kita dapat memunculkan pengecualian. Aplikasi ini berguna jika program perlu dihentikan dengan memunculkan pengecualian.

Misalnya: Seharusnya sebuah program membutuhkan sekitar 1GB memori untuk eksekusinya dan mencoba menempati 1 GB, dalam hal ini, untuk menghentikan eksekusi program, pengecualian dapat dilemparkan.

Sintaks untuk memunculkan pengecualian:

Pengecualian_kelas,<nilai>

Karena itu,

  • 'raise' digunakan untuk memunculkan eksepsi dalam sebuah program.
  • Nilai dapat diberikan ke pengecualian yang dapat diberikan ke tanda kurung.
  • Mengakses nilai dapat dilakukan dengan kata kunci ”sebagai”. Nilai yang diberikan untuk pengecualian dapat disimpan dalam variabel referensi yang dilambangkan dengan "e".
  • Untuk menentukan jenis pengecualian, nilai dapat diteruskan ke pengecualian.

PernyataanError

Pernyataan dapat dibuat dengan python alih-alih membiarkan program macet. Sebuah pernyataan dibuat bahwa kondisi tertentu dipenuhi oleh program. Program akan terus berjalan jika kondisinya benar. Jika tidak, pengecualian AssertionError dilempar oleh program ketika kondisinya ternyata salah.

Menangani pengecualian melalui blok coba dan kecuali

Pengecualian yang dilemparkan dengan python ditangkap dan kemudian ditangani oleh blok coba dan kecuali di python. Kode di dalam blok try dieksekusi secara normal sebagai bagian program. Blok lainnya mencakup pernyataan yang dieksekusi sebagai respons terhadap pengecualian yang dilemparkan oleh program di blok coba.

Program melempar pengecualian setiap kali menemukan kesalahan dalam kode sintaksis yang benar. Jika pengecualian yang dilemparkan tidak ditangani dengan benar, akan ada kerusakan pada program. Dalam skenario seperti itu, blok kecuali menentukan respons program terhadap pengecualian itu.

Penerapan klausa try and exception paling baik dipahami melalui contoh berikut yang diambil dari sumber yang disebutkan.

Dalam hal ini, setiap kali terjadi pengecualian, program akan terus berjalan dan akan memberi tahu pengguna bahwa program tidak berhasil daripada memberikan output kosong.

Checkout : Ide & Topik Proyek Python

Program menunjukkan jenis kesalahan yang dilemparkan melalui panggilan fungsi. Namun, kesalahan yang dilemparkan oleh fungsi dapat ditangkap untuk mendapatkan gambaran tentang apa yang sebenarnya salah.

Menjalankan kode di mesin windows akan menghasilkan yang berikut:

Pesan yang ditampilkan pertama kali menunjukkan AssertionError di mana pengguna diberitahu bahwa fungsi tersebut hanya dapat dijalankan pada sistem sistem operasi Linux. Pesan kedua selanjutnya memberikan informasi tentang fungsi mana yang tidak dapat dieksekusi.
Tidak ada jika file.log akan menghasilkan output dengan pesan "Tidak dapat membuka file.log".

Program akan tetap berjalan karena merupakan pesan yang menyampaikan informasi kepada pengguna. Banyak pengecualian bawaan tersedia di dokumen Python. Satu pengecualian seperti yang dijelaskan ditunjukkan di bawah ini.

Tidak adanya file.log dalam kasus ini akan menghasilkan output berikut.

Berbagai pengecualian dapat ditangkap melalui penggunaan lebih banyak panggilan fungsi dalam klausa try. Namun, saat mendeteksi pengecualian, pernyataan klausa try akan berhenti.

Klausa lain

Penggunaan pernyataan klausa else dapat membantu dalam menginstruksikan program untuk mengeksekusi blok pernyataan hanya jika tidak ada pengecualian.

Klausa else dieksekusi hanya karena tidak ada pengecualian. Jika kode berisi pengecualian, maka berikut ini akan menghasilkan.

Pengecualian khusus Python

Python memiliki sejumlah pengecualian bawaan yang menimbulkan kesalahan setiap kali ada sesuatu yang salah dalam program. Namun, pengguna perlu membuat beberapa pengecualian khusus dalam kasus di mana tujuannya akan dilayani.

Kelas baru dapat dibuat untuk mendefinisikan pengecualian khusus. Baik secara langsung maupun tidak langsung, kelas-kelas ini harus diturunkan dari kelas pengecualian bawaan.

Kelas yang ditentukan pengguna CustomError dibuat yang diwarisi dari Pengecualian kelas. Mirip dengan pengecualian lainnya, pengecualian ini juga dimunculkan melalui penggunaan 'naikkan' dengan pesan kesalahan yang opsional.

Pengecualian yang ditentukan pengguna harus ditempatkan dalam file terpisah setiap kali ada pengembangan program python besar. Biasanya merupakan praktik yang baik untuk melakukan ini dan diikuti oleh sebagian besar modul standar di mana pengecualian didefinisikan secara terpisah sebagai error.py atau exceptions.py.

Pengecualian khusus python sederhana dan karena kelas normal mengimplementasikan semua yang mereka ikuti juga sama.

Sintaks dan Contoh

Mari kita pertimbangkan dua variabel yang a, dan b. Input ke variabel diambil dari pengguna dan pembagian angka dilakukan. Sekarang, jika penyebut yang dimasukkan oleh pengguna adalah nol.

Untuk menangani pengecualian ini, blok try-except dapat ditambahkan ke program. Untuk semua jenis kode yang mengarah pada kecurigaan melempar pengecualian. Itu harus ditempatkan di blok pernyataan try.

Sintaks dari blok coba

mencoba:

#kode

kecuali Pengecualian1:

#kode

kecuali Pengecualian2:

#kode

#kode

Ini menunjukkan penggunaan pernyataan try-except di mana kode ditempatkan di blok try dan dieksekusi ketika tidak ada pengecualian dalam kode.

Sintaks pernyataan else dengan try-except

mencoba

#coba pernyataan

Kecuali Pengecualian1

#kode

Lain

#eksekusi kode ketika tidak ada pengecualian

Beberapa poin penting:

  • Pengecualian tidak ditentukan melalui pernyataan pengecualian di python.
  • Beberapa pengecualian dapat dideklarasikan dalam kode melalui penggunaan blok try karena ada banyak pernyataan di dalam blok try yang dapat membuang pengecualian dari berbagai jenis.
  • Blok lain dapat ditentukan dengan blok coba yang dieksekusi ketika tidak ada pengecualian yang dilemparkan oleh blok coba.
  • Blok else harus berisi pernyataan yang tidak bertanggung jawab untuk melempar pengecualian.

Baca Juga: Alasan Utama Mengapa Python Populer di Kalangan Pengembang

Kesimpulan

Pada artikel ini, kami membahas secara singkat konsep penanganan pengecualian di python dengan beberapa contoh. Seiring dengan pengecualian bawaan, pengecualian khusus python juga didefinisikan secara singkat. Sekarang, Anda dapat mengetahui pentingnya pengecualian dan penanganan pengecualian di python .

Jika Anda tertarik untuk mempelajari lebih lanjut tentang bahasa python dan implementasinya dalam ilmu data, Anda dapat melihat kursus upGrad “Program PG Eksekutif dalam Ilmu Data” berikut ini.

Kursus online ini dirancang untuk semua profesional tingkat pemula yang termasuk dalam kelompok usia 21 hingga 45 tahun. Dengan lebih dari 20+ sesi langsung dan pengetahuan praktis tentang 14+ alat dan bahasa pemrograman, kursus ini akan memandu Anda menuju kesempurnaan. Setiap pertanyaan dapat dikirim melalui pesan. Tim kami akan membantu Anda.

Berapa banyak jenis kesalahan yang ada di Python?

Ada 2 kategori kesalahan yang dapat dibedakan dalam Python- Kesalahan dan Pengecualian Sintaks. Kesalahan Sintaks: Kesalahan sintaksis terjadi ketika setiap baris kode memiliki sintaks yang salah. Ini adalah kesalahan yang paling umum dan terdeteksi selama penguraian program. Kesalahan termasuk operator hilang, lekukan yang tidak tepat, kata kunci salah eja, hilang titik dua, meninggalkan tanda kurung, dan kesalahan menit lainnya dalam sintaks. Pengecualian: Pengecualian adalah kesalahan yang terdeteksi selama eksekusi program. Setelah program berhasil dalam uji sintaks, program akan melalui pemeriksaan kesalahan logika. Python memiliki banyak koleksi pengecualian bawaan. Anda juga dapat membuat pengecualian yang ditentukan pengguna khusus.

Apa perbedaan utama antara kesalahan sintaks dan pengecualian?

Kesalahan sintaksis terjadi ketika kode atau baris kode salah secara sintaksis. Ketika kesalahan sintaks terjadi dalam kode, program berakhir. Kesalahan sintaks dapat terjadi karena kehilangan titik dua atau bahkan salah mengeja kata kunci juga.
Namun, pengecualian sangat berbeda. Pengecualian dapat dianggap sebagai anomali yang mengganggu jalannya program. Bahkan jika program secara sintaksis benar, pengecualian dapat terjadi. Tidak seperti dalam kesalahan, kode dijalankan hingga baris di mana pengecualian terjadi.

Apa peran kata kunci kenaikan di Python?

Kata kunci raise digunakan untuk memunculkan exception di Python. Jenis kesalahan juga dapat dimunculkan dan Anda juga dapat menambahkan teks untuk ditampilkan pada saat memunculkan pengecualian. Itu sangat berguna ketika Anda perlu memeriksa kode Anda untuk input.