Fungsi dengan Pengecualian di Python
Pengecualian sangat mudah untuk dilempar, dengan menuliskannya dalam fungsi menggunakan kondisi.
Mari kita buat fungsi get_sum,
yang akan mengembalikan jumlah elemen
dari sebuah list hanya jika panjang list
kurang dari atau sama dengan 3. Jika tidak,
mari kita lempar pengecualian kita sendiri ToBigLength:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
Sekarang mari kita berikan sebuah list ke fungsi get_sum
dan cetak hasilnya ke konsol:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # akan mencetak 6
Juga dalam fungsi, kita dapat menangkap
beberapa tipe pengecualian. Mari
buat satu lagi kelas pengecualian ToSmallLength:
class ToSmallLength(Exception):
pass
Sekarang mari kita tuliskan kondisi dalam fungsi, jika
panjang list sama dengan nol, maka akan dilempar
ToSmallLength. Jika tidak ada pengecualian
yang ditangkap, maka akan dikembalikan
jumlah semua elemen list:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
Untuk kemudahan, kita dapat menempatkan list yang
akan diberikan ke parameter fungsi,
fungsi itu sendiri, dan pemanggilannya dalam blok try.
Dan penangkapan kedua pengecualian kita akan ditempatkan
dalam blok except:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
Buatlah sebuah fungsi yang parameternya akan
menerima sebuah angka. Di dalamnya, tuliskan kondisi,
jika angka tersebut negatif atau sama dengan nol, maka
lemparkan pengecualian yang sesuai.
Jika tidak, biarkan angka tersebut
dikalikan dengan 3.
Ujilah fungsi yang telah Anda buat
menggunakan konstruksi try-except. Dalam
proses ini, tangkap juga pengecualian yang Anda buat.