Penanganan udara memungkinkan kita untuk membiarkan skrip terus berjalan, bahkan jika ada kesalahan.
Mari kita coba contoh untuk menunjukkan kepada Anda bagaimana kita bisa melakukan penanganan udara dan python.
Katakanlah kita ingin membuat program yang memungkinkan kita mengambil input pengguna.
Katakanlah kita meminta pengguna untuk H.
Jadi kami menggunakan prompt input dan berkata, berapa usia Anda?
Dan kemudian di sini atau yang akan kita lakukan hanyalah mencetak program yang bagus dan sederhana jika saya menjalankan ini.
Dan saya mengetik, katakanlah, 10.
Ini dia.
Semuanya berfungsi, tetapi bagaimana jika saya tidak memasukkan nomor dan saya pergi seperti ini?
Yah, itu masih berfungsi, tetapi itu yang ingin saya lakukan dengan program saya, mungkin saya ingin memasukkan usia dan menghitung
apakah mereka bisa bermain game atau tidak, apakah mereka berusia 18 tahun ke atas, bagaimana kita bisa memperbaikinya
ini?
Nah, satu hal yang bisa kita lakukan hanyalah membungkusnya dalam ENT, kan, jadi kita mengubah apa pun yang diberikan pengguna
kepada kita menjadi bilangan bulat sehingga jika saya menjalankan ini.
Dan saya mengetik ini.
Oh, saya mendapatkan kesalahan, kesalahan nilai litoral tidak valid untuk int, saya mencoba mengonversi.
Ini menjadi bilangan bulat, tetapi memberi tahu saya bahwa itu kesalahan, saya tidak bisa melakukan itu.
Jadi bagaimana kita bisa memperbaikinya dengan penanganan kesalahan di Python?
Kita bisa melakukannya dengan cara ini.
Kami memiliki tri loop, kami memiliki keyboard tri, yang mengatakan, hei, saya ingin Anda mencoba bagian kode ini dan kami harus
memastikan bahwa kami telah menemukannya.
Jadi kami mencoba potongan kode ini.
Sekarang, apapun yang terjadi di dalam blok tri.
saya mampu menangani.
Lihat dari mana penanganan berasal, area dengan kata kunci terima.
Dan terima.
Katanya, hei.
Jika apa pun yang ada di sini di blok tri, jika ada yang keluar, saya ingin Anda mengatakan sesuatu.
Jadi, alih-alih memiliki udara merah yang keluar dari program ini, lakukan sesuatu yang lain.
Melakukan hal ini.
Jadi saya akan mengatakan.
Cetak, masukkan nomor.
Mari kita lihat apa yang terjadi sekarang.
Jika saya klik, jalankan.
Berapa usia saya?
Aku hanya akan menulis omong kosong.
Dan lihat itu, saya mendapatkan silakan masukkan nomor.
Saya menangani kesalahan saya di sini dengan membungkus semua kode saya di blok coba sehingga saya bisa menyalin Basehead seluruh file saya
di sini, meletakkannya di dalam blok coba.
Dan apa yang akan terjadi adalah alih-alih program saya ditayangkan sebelum program saya crash, itu akan menjalankan kode
ini dan kemudian akan berkata, hei, jika di dalam blok ini terjadi sesuatu, kami akan menangkapnya di
sini dengan blok exception .
Dan aku bisa mendengar.
Lakukan apa pun yang saya inginkan dalam kasus saya, saya dapat mengatakan, hei, silakan masukkan nomor kami, tetapi kami memiliki masalah di sini,
bukan?
Program baru saja berakhir dan kami ingin ini terus berjalan.
Saya harus berlari lagi dan meminta H sekali lagi.
Jadi bagaimana Anda bisa memastikan bahwa kami terus menjalankan ini sampai pengguna itu benar-benar memasukkan sesuatu dengan adil?
Nah, kita sudah pernah melihat ini sebelumnya, kita bisa melakukan while loop dan mengatakan while true.
Ron, ini.
Dan jika ini berhasil.
Yah, kita akan.
Mudah-mudahan mendapatkan H, mari kita lihat jika saya klik run adalah usia saya, katakanlah.
Tidak, silakan masukkan no. Berapa usia Anda?
Mari kita coba memecahkannya lagi.
Tidak, silakan masukkan nomor kami.
Baiklah.
Umur saya 10 tahun.
Ini dia, saya mendapatkan nama 10, tetapi, oh, itu masih bertanya kepada saya berapa usia saya.
Idealnya, saya ingin keluar dari pernyataan yang benar ini, kan, jadi bagaimana saya bisa melakukannya?
Yah, saya bisa menggunakan apa yang kita sebut di sini dan blok lain, yang telah kita lihat sebelumnya.
Tapi ini bekerja dengan try kecuali blok.
Kami meletakkannya di akhir.
Dikatakan, hei, coba ini.
Jika tidak pernah melakukan ini.
Namun, jika tidak ada tempat lain, lakukan ini.
Jadi dalam kasus kami, kami hanya bisa mengatakan istirahat.
Dan tahukah Anda, kami bahkan dapat mencetak terima kasih, jadi kami baik-baik saja jika saya menghentikan ini dan berlari lagi.
Dan saya memberi mereka usia saya.
Ini dia.
Kami selesai, kami keluar dari lingkaran dan semuanya baik-baik saja.
Dan blok tri kecuali else ini bisa pergi ke mana saja, kita bisa membungkus seluruh file kita dalam blok try kecuali,
kita bisa menambahkannya ke dalam fungsi kita di dalam masing-masing fungsi individu.
Apa pun yang kita inginkan, kita dapat menggunakannya.
Ini hanyalah alat lain yang diberikan Python kepada kita untuk menangani Eres.
Tapi izinkan saya menanyakan sesuatu.
Bagaimana jika saya melakukannya alih-alih mencetak, yang saya lakukan, katakanlah sepuluh dibagi usia?
Jika saya menjalankan program saya.
Dan saya mengetik di sini nol dan saya masuk.
Oh, saya masuk ke sana, silakan masukkan nomor, tapi saya memang memasukkan nomor.
Ini adalah program buggy, meskipun saya mengetik angka, itu masih memberi saya pesan kesalahan yang sama.
Jadi bagaimana kita menangani ini?
Bagaimana kita menangani kesalahan yang berbeda, satu di mana itu adalah kesalahan nilai dan satu lagi yang jelas merupakan
kesalahan pembagian nol?
Nah, di blok kecuali, saya bisa memberikan jenis kesalahan apa yang ingin saya tangani dan ingat, ini adalah kesalahan bawaan di
sini yang bisa saya salin dan tempel.
Jadi dalam kasus saya, saya ingin mengatakan ini untuk kesalahan nilai sehingga jika saya menjalankan program saya.
Dan saya mengetik nol.
Oh, saya mendapatkan udara saya, ini kecuali blok hanya menerima penilai, kesalahan lain tidak peduli.
Hmm.
Jadi apa yang bisa kita lakukan di sini?
Nah, satu opsi adalah menyalin di sini dan berkata, hei, mari tambahkan yang lain, kecuali
dan dalam kasus ini, saya ingin kesalahan pembagian nol jika pengguna memasukkan nol, Anda dapat mengatakan tolong masukkan usia lebih tinggi dari nol.
Sehingga jika saya menjalankan ini sekarang.
Dan saya melakukan nol lagi, silakan masukkan lebih tinggi dari nol jika saya melakukan beberapa omong kosong, oops, jika saya melakukan beberapa omong kosong saya mendapatkan
silakan masukkan nomor jika saya akhirnya memasukkan nomor.
Lihat itu.
Terima kasih.
Semuanya bekerja.
Sekarang, inilah pertanyaan saya, apa yang terjadi jika kita masuk?
Kesalahan nilai lain di sini dan kesalahan nilai ini hanya akan mengatakan tanda seru.
Apa yang terjadi sekarang?
Saya mendapatkan silakan masukkan nomor, karena ini kecuali blok akan berjalan hanya sekali, begitu menangkap udara, itu
mencari itu akan berjalan.
Dan kemudian kembali ke loop kawat.
Jadi hanya salah satu ahli waris yang akan ditangkap.
Oke mari istirahat sejenak dan pelajari lebih lanjut tentang penanganan udara di video selanjutnya.
Selamat tinggal.