Penanganan pengecualian Python

Penanganan pengecualian Python

Perkenalan

Python akan memberi tahu Anda saat Anda salah sintaksis. Ini akan segera gagal dan tidak mengizinkan program Anda untuk berjalan.

Bagaimana jika kode Anda memiliki jenis masalah yang berbeda? Itu disebut pengecualian, dan mereka cenderung lebih sulit ditangkap. Terserah Anda untuk mengenali situasi di mana hey mungkin datang dan menangkap mereka untuk mencegah program Anda dari mogok sama sekali.

Bayangkan sebuah skenario di mana Anda membutuhkan input pengguna. Apakah Anda ingin program Anda macet setiap kali seorang pengguna salah mengira sesuatu atau memasuki sesuatu yang salah? Itu jauh dari ideal. Karena Anda tahu mungkin ada masalah di sana, Anda dapat memberitahu Python untuk mencari satu, dan memulihkan dengan anggun.

Coba dan kecuali

Ketika Anda tahu ada kemungkinan pengecualian akan muncul, Anda meminta Python untuk mencoba sepotong kode dan mencari pengecualian. Lihatlah dalam konteks contoh angka dari sebelumnya.

coba: number = int (input ("Masukkan nomor apa saja:")) kecuali: cetak ("Itu tidak berhasil ...") 

Sekarang, alih -alih crash, program Anda akan berlanjut, bahkan jika pengguna memasukkan sampah.

Anda juga dapat memberi tahu Python dengan tepat jenis pengecualian yang harus dicari. Dalam hal ini, itu akan menjadi Nilaieror.

Coba: Number = int (input ("Masukkan nomor apa saja:")) kecuali nilaiError: print ("Anda tidak memasukkan angka!") 

Jika Python tahu jenis pengecualian apa yang dicari, Anda dapat memberi tahu bagaimana meresponsnya sesuai.

Buatlah milikmu sendiri

Anda dapat membuat pengecualian sendiri dengan menulisnya sebagai kelas yang mewarisi dari Pengecualian kelas dasar atau salah satu dari kelas pengecualian lainnya.

Class NewException (Exception): Pass 

Anda harus membangun ke dalam program Anda cara menggunakan pengecualian khusus Anda.

Meningkatkan pengecualian

Ada opsi untuk meningkatkan pengecualian secara manual mengangkat.

Coba: Naikkan Newexception kecuali NewException: cetak ("Gagal seperti yang direncanakan!") 

Beberapa pengecualian

Jika Anda mengharapkan bahwa mungkin ada lebih dari satu pengecualian, Anda dapat membangun kelipatan mencoba. Mulailah dengan membuat beberapa pengecualian khusus.

class exceptiona (pengecualian): lulus kelas pengecualian (pengecualian): lulus 

Sekarang, gunakan dengan mencoba.

Coba: Naikkan ExceptionB kecuali (Exceptiona, ExceptionB): Print ("Itu A atau B") 

Tentu saja, itu bukan yang terbaik karena dalam skenario nyata, Anda tidak akan tahu pengecualian mana yang sebenarnya terjadi.

Coba gunakan terpisah kecuali klausa sebagai gantinya.

Coba: Naikkan ExceptionB kecuali pengecualian: print ("Exceptiona terjadi") kecuali pengecualian: cetak ("pengecualian terjadi") kecuali: cetak ("sesuatu yang lain terjadi ...") 

Ketiga kecuali bertindak untuk menangkap pengecualian lainnya. Itulah perilaku default ketika pengecualian spesifik tidak diberikan.

Lain dan akhirnya

Ada dua klausa tambahan untuk menangani apa yang terjadi setelah pengecualian ditangani. Mereka membantu kode Anda menanggapi pengecualian.

Itu kalau tidak Klausul memungkinkan Anda untuk menjalankan kode hanya jika pengecualian belum dinaikkan.

Coba: Number = int (input ("Masukkan nomor apa saja:")) kecuali nilaiError: print ("Anda tidak memasukkan angka!") Lain: cetak (nomor ** 2) 

Anda hanya ingin mencoba melakukan operasi pada nomor jika seseorang dimasukkan.

Itu Akhirnya Penyebab akan berjalan terlepas dari pengecualian. Itu akan selalu berjalan di akhir mencoba memblokir.

Coba: Number = int (input ("Masukkan nomor apa saja:")) kecuali nilaiError: print ("Anda tidak memasukkan angka!") else: cetak (nomor ** 2) Akhirnya: cetak (" Ini akan selalu berjalan.") 

Menutup pikiran

Penting untuk memahami apa yang salah dengan program Anda. Sama pentingnya untuk mengetahui hal itu akan salah. Dengan memperhitungkan pengecualian, Anda dapat membuat kode Anda stabil mungkin dan tidak menggagalkan pengguna Anda.

Latihan

  1. Buat beberapa kode yang menimbulkan pengecualian yang tidak ditangani.
  2. Gunakan blok coba untuk menangani pengecualian itu.
  3. Buat kelas pengecualian khusus
  4. Naikkan pengecualian khusus itu di blok coba.
  5. Buat blok coba dengan sepotong kode yang hanya berjalan jika pengecualian tidak dinaikkan.

Tutorial Linux Terkait:

  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Menangani input pengguna dalam skrip bash
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara Crash Linux
  • Cara menggunakan ADB Android Debug Bridge untuk mengelola Android Anda…
  • Tutorial debugging GDB untuk pemula
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 20.04 Panduan
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…