Menangkap Berbagai Jenis Pengecualian di Python
Dalam kode yang sama, mungkin diperlukan untuk menangkap berbagai jenis pengecualian.
Misalkan kita perlu menangkap pengecualian saat pembagian dengan nol. Pada kesalahan semacam ini, keluarlah pengecualian:
ZeroDivisionError: division by zero
Untuk menangkapnya, nama pengecualian harus
ditulis dalam blok except:
try:
print(1 / 0)
except ZeroDivisionError:
print('error: do not divide by zero')
Juga misalkan kita memiliki sebuah list:
lst = [1, 2, 3]
Jika dalam blok try diberikan kode dengan
kesalahan potensial lainnya, misalnya dengan menampilkan
elemen yang tidak ada, maka pengecualian,
yang tidak tertangkap dalam blok except, akan lolos
lebih jauh dan ditampilkan di konsol. Karena hal itu
kerja kode akan terhenti:
lst = [1, 2, 3]
try:
print(lst[4]) # akan menghasilkan IndexError: list index out of range
except ZeroDivisionError:
print('error: do not divide by zero')
Untuk menyelesaikan situasi seperti ini, perlu ditentukan dalam setiap blok nama dari jenis pengecualian yang sesuai. Mari tambahkan ke kode kita pengecualian untuk elemen yang tidak ada:
try:
print(lst[4])
except ZeroDivisionError:
print('error: do not divide by zero')
except IndexError:
print('error: elem is not exist')
Diberikan kode berikut:
txt = '2'
res1 = txt + 3
res2 = txt1
Tulislah kode untuk menangkap pengecualian
yang disajikan dalam variabel res1 dan res2.