Katakanlah, Anda mencoba mencetak elemen daftar melalui input pengguna. Anda menggunakan pengecualian IndexError_ di blok kecuali Anda untuk memastikan, program tidak macet jika pengguna memasukkan indeks yang tidak ada
Kode
x = [1, 2, 3, 4] while True: user_input = input("Guess a position ==> ") try: print(x[int(user_input)]) break except IndexError as e: print(f"Guess a number between {-1*len(x)} and {len(x)-1}")Sekarang, coba jalankan kode di atas di IDE Python Anda. Selama pengguna memasukkan bilangan bulat, kode akan berjalan dengan baik
Keluaran - 1
Guess a position ==> 5 Guess a number between -4 and 3 Guess a position ==> -1 4_Namun, apa yang terjadi jika pengguna memasuki pelampung?
Keluaran - 2
Guess a position ==> 3.5 Traceback (most recent call last): File "some_file_location", line 6, in <module> print(x[int(user_input)]) ValueError: invalid literal for int() with base 10: '3.5'Sekarang program Anda mogok karena pengecualian Guess a position ==> 5 Guess a number between -4 and 3 Guess a position ==> -1 40. Anda tidak memperhitungkan pengecualian ini
Di Python, blok coba-kecuali digunakan untuk menangkap pengecualian dan memprosesnya. Kadang-kadang kita memanggil fungsi yang mungkin melontarkan beberapa jenis pengecualian tergantung pada argumen, logika pemrosesan, dll. Dalam tutorial ini, kita akan belajar tentang Python menangkap banyak pengecualian. Kami akan membahas bagaimana kami dapat menangani banyak pengecualian yang mungkin terjadi selama eksekusi program Python kami melalui berbagai metode
Kami juga akan belajar bagaimana kami dapat menggunakan banyak kecuali blok, loop python, dan pengecualian yang ditentukan pengguna untuk menangani banyak pengecualian. Pada saat yang sama, kita juga akan belajar bagaimana kita dapat menangani banyak pengecualian hanya dalam satu baris menggunakan tupel dengan mengambil berbagai contoh. Selain itu, kami juga akan membahas bagaimana kami dapat menangani berbagai jenis pengecualian dengan memecahkan berbagai contoh. Singkatnya, tutorial ini akan berisi semua metode yang diperlukan yang dapat Anda gunakan untuk menangani banyak pengecualian dalam bahasa pemrograman Python
BACA JUGA. Python marshmallow Dijelaskan [Contoh Praktis]
Memulai dengan Python menangkap banyak pengecualian
Seperti yang telah kita diskusikan bahwa blok coba-kecuali di Python digunakan untuk menangani berbagai jenis pengecualian. Anda dapat mempelajari lebih lanjut tentang blok coba dan kecuali dari artikel di Python coba dan tangkap pengecualian. Di bagian ini, fokus utama kita adalah menangani banyak pengecualian menggunakan blok coba dan kecuali. Berikut ini adalah sintaks sederhana dari blok coba dan kecuali
try: # statements inside try block except: # statements inside except block_Jika terjadi kesalahan, di blok try maka alih-alih menghentikan program, kecuali blok yang akan dieksekusi
Metode-1 Python menangkap banyak pengecualian menggunakan python untuk loop
Python for loop digunakan untuk mengulang melalui objek yang dapat diubah (seperti daftar, tuple, set, dll. ) dan melakukan tindakan yang sama untuk setiap entri. Kita dapat menggunakan beberapa pengecualian yang mungkin terjadi saat mengulang sebuah objek. Dalam kasus seperti itu, kita dapat menggunakan blok coba dan tangkap di dalam loop for Python kita yang akan menangani banyak pengecualian. Berikut ini adalah sintaks sederhana
for i in iterable: try: # try block statements except: # raise an erroPerhatikan bahwa kami telah menangani pengecualian yang mungkin terjadi di dalam for loop
BACA JUGA. Python Set junction() Dijelaskan [Tutorial]
Contoh Python menangkap banyak pengecualian menggunakan for loop
Sekarang mari kita ambil contoh dan lihat bagaimana kita bisa menggunakan loop python untuk menangkap banyak pengecualian. Lihat contoh di bawah ini
Keluaran
Iklan
the division is: -10.0 the division is: 5.0 Error occurs while dividing the division is: 2.5 Error occurs while dividingPerhatikan bahwa program di atas memunculkan dua kesalahan tetapi berhasil ditangani menggunakan blok kecuali
Metode-2 Python menangkap berbagai jenis Pengecualian
Dalam python, ada banyak pengecualian bawaan misalnya ZeroDivisionError, IndexOutOfRange, TypeError, dan banyak lagi. ZeroDivisionError terjadi ketika angka dibagi dengan nol dan TypeError terjadi ketika tipe data yang berbeda ditambahkan atau melakukan operasi yang tidak dapat dilakukan. Sementara IndexOutOfRange seperti namanya muncul ketika indeks berada di luar jangkauan. Pada bagian ini, kami akan menangani tiga jenis kesalahan yang diberikan. Berikut ini adalah sintaks sederhana untuk menangani berbagai jenis pengecualian di atas
try: # try block statement except ZeroDivisionError: # Raise exception except IndexError: # raise exception except TypeError: # raise exception_Bergantung pada jenis pengecualian yang terjadi di blok try, kecuali blok khusus itu akan dieksekusi untuk menangani pengecualian
BACA JUGA. 10+ contoh praktis untuk mempelajari modul subproses python
Contoh Python menangkap berbagai jenis pengecualian
Sekarang mari kita lihat bagaimana kita menangani berbagai jenis exception yang mungkin terjadi selama eksekusi blok try. Lihat program Python berikut
# Python catch multiple exceptions try: # defining variables a = 10 b= 0 c = "abc" # adding the variables d =a+c # Zerodivision error except ZeroDivisionError: # printing error print("Zero Division Error occurs") # index error except IndexError: # printing print("Index error occurs") # type error except TypeError: # printing print("Type error occurs")_Keluaran
Type error occursKesalahan tipe terjadi karena di Python kita tidak bisa langsung menambahkan tipe data string dan integer secara bersamaan. Jadi karena kesalahan tipe dilempar oleh blok try, maka hanya blok TypeError, kecuali yang dieksekusi
Metode-3 Python menangkap banyak pengecualian dalam satu baris
Alih-alih menulis berbagai jenis pengecualian dalam blok kecuali yang berbeda, kita dapat menulisnya dalam satu baris menggunakan tuple. Tuple bukanlah apa-apa, hanya kumpulan objek Python yang dipisahkan dengan koma. Kami menulis semua jenis pengecualian yang mungkin terjadi di tuple dan menggunakan satu kecuali blok. Lihat sintaks beberapa pengecualian berikut dalam satu baris
try: # Try statements except(TypeError, SyntaxError, ValueError, ...)as e: # exceptionsPerhatikan bahwa kita telah memadatkan semua pengecualian hanya dalam satu baris menggunakan dengan menulis kemudian di dalam sebuah typle
Iklan
BACA JUGA. Langkah-langkah Membuat Aplikasi Web Python. Contoh Labu Python
Contoh-1 Python menangkap banyak pengecualian dalam satu baris
Sekarang mari kita lihat bagaimana kita dapat menangani banyak pengecualian hanya dalam satu baris. Lihat program python di bawah ini
# Python catch multiple exceptions try: # defining variables a = 10 b = 0 c = 'sd' # adding d = a+c # except block except(TypeError, SyntaxError, ValueError)as e: # printing the error print("The following error occurs:") print(e)Keluaran
The following error occurs: unsupported operand type(s) for +: 'int' and 'str'Perhatikan bahwa kesalahan jenis terjadi dan ditangani di blok kecuali
Contoh-2 Python menangkap banyak pengecualian dalam satu baris
Sekarang mari kita coba membagi angka dengan nol dan menjalankan program kita
for i in iterable: try: # try block statements except: # raise an erro0Keluaran
for i in iterable: try: # try block statements except: # raise an erro1Perhatikan bahwa kesalahan ini juga ditangani oleh kecuali blok karena # iterable object mylist = [-1, 2, 0, 4, 0] # for loop for i in mylist: # Python catch multiple exceptions try: # raise when divide by zero print("thedivision is:", 10/i) # this block will be executed if error occurs except: # raise an error print("Error occurs while dividing")0 disebutkan dalam tuple
Iklan
Metode-4 Python menangkap semua pengecualian
Terkadang, kita mungkin tidak tahu pengecualian seperti apa yang mungkin terjadi. Dalam skenario seperti itu, lebih baik menangani semua pengecualian yang mungkin terjadi tanpa menentukan jenis kesalahan. Berikut ini adalah sintaks sederhana untuk menangani semua pengecualian
for i in iterable: try: # try block statements except: # raise an erro2Perhatikan bahwa di sini kami tidak mendefinisikan jenis pengecualian apa pun, kami telah menggunakan pengecualian kata kunci yang mencakup semua jenis pengecualian yang mungkin terjadi selama pelaksanaan program kami
BACA JUGA. Kamus Python (15 contoh mudah dengan sintaksis)
Contoh-1 Python menangkap semua pengecualian
Sekarang mari kita lihat bagaimana kata kunci exception bekerja dan menangani semua kemungkinan exception yang mungkin terjadi selama eksekusi program kita. Lihat program python di bawah ini
for i in iterable: try: # try block statements except: # raise an erro_3Keluaran
for i in iterable: try: # try block statements except: # raise an erro1Perhatikan bahwa bagian pengecualian menangani pengecualian nol dan mencetak kesalahan
Contoh-2 Python menangkap semua pengecualian
Sekarang mari kita coba membuat pengecualian lain. Lihat program python di bawah ini
for i in iterable: try: # try block statements except: # raise an erro5Keluaran
for i in iterable: try: # try block statements except: # raise an erro_6Perhatikan bagian pengecualian menangani pengecualian lain juga. Blok ini akan dapat menangani semua pengecualian bawaan yang mungkin terjadi selama eksekusi program python
Metode-5 Python menangkap pengecualian yang ditentukan pengguna
Kadang-kadang, kita mungkin perlu menangani pengecualian selain yang bawaan. Dalam kasus seperti itu, kita harus menentukan pengecualian sendiri dan kemudian menanganinya, jika itu terjadi. Berikut ini adalah sintaks sederhana dari pengecualian yang ditentukan pengguna python
for i in iterable: try: # try block statements except: # raise an erro_7Perhatikan bahwa kita telah menggunakan pernyataan if dan else untuk menentukan pengecualian pengguna dan kemudian menanganinya di dalam blok exception
Iklan
BACA JUGA. Tutorial Konstruktor Python [Contoh Mudah]
Contoh Python menangkap pengecualian yang ditentukan pengguna
Sekarang mari kita lihat bagaimana kita bisa menangkap pengecualian yang ditentukan pengguna. Lihat program Python berikut
for i in iterable: try: # try block statements except: # raise an erro_8Keluaran
for i in iterable: try: # try block statements except: # raise an erro_9Perhatikan bahwa kami telah mendefinisikan pengecualian sendiri bahwa jika angka lebih kecil dari 0 maka buat pengecualian dan kami menanganinya di blok kecuali
Ringkasan
Di Python, kami menggunakan blok coba dan kecuali untuk menangkap dan menangani segala jenis pengecualian dan kesalahan yang mungkin terjadi selama eksekusi program kami. Dalam tutorial ini, kita telah mempelajari tentang python catch multiple exception dengan menggunakan berbagai metode. Kami telah membahas lima cara berbeda untuk menangani banyak pengecualian dengan mengambil berbagai contoh. Kami membahas bagaimana kami dapat menangani pengecualian menggunakan kecuali blok, berbagai jenis pengecualian dan bagaimana kami dapat menangani semua jenis pengecualian hanya dalam satu baris. Selain itu, kami juga membahas bagaimana kami dapat menentukan pengecualian kami sendiri dan menanganinya. Singkatnya, tutorial ini berisi semua metode yang diperlukan yang digunakan untuk menangani beberapa pengecualian dalam skenario yang berbeda