Program Python berhenti segera setelah menemukan kesalahan. Di Python, kesalahan bisa berupa kesalahan sintaksis atau pengecualian. Pada artikel ini, Anda akan melihat apa itu pengecualian dan perbedaannya dari kesalahan sintaksis. Setelah itu, Anda akan belajar tentang memunculkan pengecualian dan membuat pernyataan. Kemudian, Anda akan menyelesaikannya dengan demonstrasi blok coba dan kecuali Show
Unduhan PDF gratis. Lembar Curang Python 3 Pengecualian versus Kesalahan SintaksKesalahan sintaks terjadi ketika parser mendeteksi pernyataan yang salah. Perhatikan contoh berikut
Panah menunjukkan di mana parser mengalami kesalahan sintaksis. Dalam contoh ini, ada satu braket yang terlalu banyak. Hapus dan jalankan kode Anda lagi _Kali ini, Anda mengalami error pengecualian. Jenis kesalahan ini terjadi setiap kali kode Python yang benar secara sintaksis menghasilkan kesalahan. Baris terakhir pesan menunjukkan jenis kesalahan pengecualian apa yang Anda temui Alih-alih menampilkan pesan _6, Python merinci jenis kesalahan pengecualian apa yang ditemui. Dalam hal ini, itu adalah _7. Python hadir dengan berbagai pengecualian bawaan serta kemungkinan untuk membuat pengecualian yang ditentukan sendiriHilangkan iklanMeningkatkan PengecualianKita dapat menggunakan _8 untuk membuang pengecualian jika suatu kondisi terjadi. Pernyataan tersebut dapat dilengkapi dengan pengecualian khususJika Anda ingin melempar kesalahan ketika kondisi tertentu terjadi menggunakan 8, Anda bisa melakukannya seperti ini
Ketika Anda menjalankan kode ini, hasilnya adalah sebagai berikut
Program berhenti dan menampilkan pengecualian kami ke layar, menawarkan petunjuk tentang apa yang salah Pengecualian Traceback (most recent call last): File "<input>", line 4, in <module> Exception: x should not exceed 5. The value of x was: 10 _0Alih-alih menunggu program mogok di tengah jalan, Anda juga bisa memulai dengan membuat pernyataan dengan Python. Kami _1 bahwa kondisi tertentu terpenuhi. Jika kondisi ini ternyata _2, maka itu bagus sekali. Program dapat dilanjutkan. Jika kondisinya ternyata 3, Anda dapat meminta program untuk memberikan pengecualian 0Lihat contoh berikut, di mana dinyatakan bahwa kode akan dijalankan pada sistem Linux
Jika Anda menjalankan kode ini di mesin Linux, pernyataan akan diteruskan. Jika Anda menjalankan kode ini di mesin Windows, hasil pernyataannya adalah 3 dan hasilnya adalah sebagai berikut
Dalam contoh ini, melempar pengecualian _0 adalah hal terakhir yang akan dilakukan program. Program akan berhenti dan tidak akan berlanjut. Bagaimana jika itu bukan yang Anda inginkan?Blok Traceback (most recent call last): File "<input>", line 4, in <module> Exception: x should not exceed 5. The value of x was: 10 7 dan Traceback (most recent call last): File "<input>", line 4, in <module> Exception: x should not exceed 5. The value of x was: 10 8. Menangani PengecualianBlok 7 dan 8 di Python digunakan untuk menangkap dan menangani pengecualian. Python mengeksekusi kode mengikuti pernyataan _7 sebagai bagian "normal" dari program. Kode yang mengikuti pernyataan _8 adalah respons program terhadap pengecualian apa pun dalam klausa 7 sebelumnyaSeperti yang Anda lihat sebelumnya, ketika kode yang benar secara sintaksis mengalami kesalahan, Python akan memunculkan kesalahan pengecualian. Kesalahan pengecualian ini akan merusak program jika tidak ditangani. Klausa _8 menentukan bagaimana program Anda merespons pengecualianFungsi berikut dapat membantu Anda memahami blok 7 dan 8
_7 hanya dapat berjalan di sistem Linux. _1 dalam fungsi ini akan menampilkan pengecualian 0 jika Anda memanggilnya di sistem operasi selain LinuxAnda dapat memberikan fungsi _7 menggunakan kode berikut
Cara Anda menangani kesalahan di sini adalah dengan membagikan 1. Jika Anda menjalankan kode ini di mesin Windows, Anda akan mendapatkan keluaran berikut
Anda tidak mendapatkan apa-apa. Hal baiknya di sini adalah programnya tidak macet. Tapi alangkah baiknya untuk melihat apakah beberapa jenis pengecualian terjadi setiap kali Anda menjalankan kode Anda. Untuk tujuan ini, Anda dapat mengubah _1 menjadi sesuatu yang akan menghasilkan pesan informatif, seperti itu
Jalankan kode ini di mesin Windows _0Ketika pengecualian terjadi dalam program yang menjalankan fungsi ini, program akan melanjutkan dan memberi tahu Anda tentang fakta bahwa pemanggilan fungsi tidak berhasil Apa yang tidak Anda lihat adalah jenis kesalahan yang muncul sebagai akibat dari pemanggilan fungsi. Untuk melihat dengan tepat apa yang salah, Anda perlu menangkap kesalahan yang dilontarkan oleh fungsi tersebut Kode berikut adalah contoh di mana Anda menangkap 0 dan menampilkan pesan itu ke layar _1Menjalankan fungsi ini di mesin Windows akan menghasilkan yang berikut ini _2Pesan pertama adalah 0, memberi tahu Anda bahwa fungsi tersebut hanya dapat dijalankan di mesin Linux. Pesan kedua memberi tahu Anda fungsi mana yang tidak dijalankanPada contoh sebelumnya, Anda memanggil fungsi yang Anda tulis sendiri. Saat Anda menjalankan fungsi, Anda menangkap pengecualian 0 dan mencetaknya ke layarBerikut contoh lain di mana Anda membuka file dan menggunakan pengecualian bawaan _3Jika file. log tidak ada, blok kode ini akan menampilkan yang berikut _4Ini adalah pesan yang informatif, dan program kami akan terus berjalan. Dalam dokumen Python, Anda dapat melihat bahwa ada banyak pengecualian bawaan yang dapat Anda gunakan di sini. Satu pengecualian yang dijelaskan di halaman itu adalah sebagai berikut
Untuk menangkap jenis pengecualian ini dan mencetaknya ke layar, Anda dapat menggunakan kode berikut _5Dalam hal ini, jika file. log tidak ada, hasilnya adalah sebagai berikut _6Anda dapat memiliki lebih dari satu pemanggilan fungsi dalam klausa 7 Anda dan mengantisipasi menangkap berbagai pengecualian. Satu hal yang perlu diperhatikan di sini adalah bahwa kode dalam klausa 7 akan berhenti segera setelah pengecualian ditemukanPeringatan. Menangkap _9 menyembunyikan semua kesalahan… bahkan kesalahan yang sama sekali tidak terduga. Inilah mengapa Anda harus menghindari klausa _8 kosong dalam program Python Anda. Sebagai gantinya, Anda ingin merujuk ke kelas pengecualian tertentu yang ingin Anda tangkap dan tangani. Anda dapat mempelajari lebih lanjut mengapa ini adalah ide yang bagus dalam tutorial iniLihatlah kode berikut. Di sini, pertama-tama Anda memanggil fungsi _7 dan kemudian mencoba membuka file _7Jika file tidak ada, menjalankan kode ini di mesin Windows akan menampilkan berikut ini _8Di dalam klausa _7, Anda langsung menemukan pengecualian dan tidak sampai ke bagian di mana Anda mencoba membuka file. catatan. Sekarang lihat apa yang terjadi ketika Anda menjalankan kode di mesin Linux _6Berikut adalah takeaways kunci
Klausa def linux_interaction(): assert ('linux' in sys.platform), "Function can only run on Linux systems." print('Doing something.') _6Dalam Python, menggunakan pernyataan _6, Anda dapat menginstruksikan sebuah program untuk mengeksekusi blok kode tertentu hanya jika tidak ada pengecualianLihatlah contoh berikut 0Jika Anda menjalankan kode ini di sistem Linux, hasilnya adalah sebagai berikut 1Karena program tidak mengalami pengecualian apa pun, klausa 6 dijalankanAnda juga dapat _7 untuk menjalankan kode di dalam klausa 6 dan menangkap kemungkinan pengecualian di sana juga 2Jika Anda mengeksekusi kode ini di mesin Linux, Anda akan mendapatkan hasil berikut _3Dari output, Anda dapat melihat bahwa fungsi ________13______7 berjalan. Karena tidak ada pengecualian yang ditemukan, upaya untuk membuka file. log dibuat. File itu tidak ada, dan alih-alih membuka file, Anda menangkap pengecualian 6Membersihkan Setelah Menggunakan ________32______3Bayangkan Anda selalu harus menerapkan semacam tindakan untuk membersihkan setelah mengeksekusi kode Anda. Python memungkinkan Anda untuk melakukannya menggunakan klausa ________32______3 Lihat contoh berikut _4Dalam kode sebelumnya, semua yang ada di klausa ________32______3 akan dieksekusi. Tidak masalah jika Anda menemukan pengecualian di suatu tempat di klausa 7 atau 6. Menjalankan kode sebelumnya pada mesin Windows akan menampilkan berikut ini 5MenyimpulkanSetelah melihat perbedaan antara kesalahan sintaks dan pengecualian, Anda belajar tentang berbagai cara untuk memunculkan, menangkap, dan menangani pengecualian di Python. Di artikel ini, Anda melihat opsi berikut
Unduhan PDF gratis. Lembar Curang Python 3 Semoga artikel ini membantu Anda memahami alat dasar yang ditawarkan Python saat menangani pengecualian Tandai sebagai Selesai Tonton Sekarang Tutorial ini memiliki kursus video terkait yang dibuat oleh tim Real Python. Tonton bersama dengan tutorial tertulis untuk memperdalam pemahaman Anda. Meningkatkan dan Menangani Pengecualian Python 🐍 Trik Python 💌 Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python Kirimi Saya Trik Python » Tentang Said van de Klundert Said adalah insinyur jaringan, penggemar Python, dan penulis tamu di Real Python » Lebih lanjut tentang SaidSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah Adriana Joanna Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista Tingkatkan Keterampilan Python Anda » Guru Keterampilan Python Dunia Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista Tingkatkan Keterampilan Python Anda » Bagaimana menurut anda? Nilai artikel ini Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari? Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami Bagaimana Anda memunculkan pengecualian dari pengecualian lain?Mari pertimbangkan situasi di mana kami ingin memunculkan pengecualian sebagai tanggapan untuk menangkap pengecualian yang berbeda tetapi ingin menyertakan informasi tentang kedua pengecualian tersebut di traceback. Untuk merangkai pengecualian, gunakan pernyataan kenaikan dari bukan pernyataan kenaikan sederhana . Ini akan memberi Anda informasi tentang kedua kesalahan.
Bagaimana Anda memunculkan dua pengecualian dengan Python?Dengan menangani beberapa pengecualian, sebuah program dapat merespons pengecualian yang berbeda tanpa menghentikannya. Dalam Python, blok coba-kecuali dapat digunakan untuk menangkap dan merespons satu atau beberapa pengecualian . Dalam kasus di mana suatu proses memunculkan lebih dari satu kemungkinan pengecualian, semuanya dapat ditangani menggunakan satu klausa kecuali.
Apakah mungkin untuk memunculkan kembali pengecualian dengan Python?Naikkan kembali pengecualian saat ini
. Dalam hal ini, Anda dapat menggunakan pernyataan raise tanpa menentukan objek pengecualian . Jika Anda meneruskan nol ke argumen kedua dari fungsi division() , pengecualian ZeroDivisionError akan terjadi.
Apa itu rangkaian pengecualian di Python?Oleh Ranjeet V. Dalam tutorial ini, kita akan mempelajari cara memunculkan pengecualian sebagai tanggapan atas pengecualian lain dengan Python. Ini juga disebut rangkaian pengecualian. Dalam kode contoh di bawah ini, kami memiliki blok coba-kecuali. Blok try berisi pernyataan dengan ZeroDivisionError. |