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:

pythondef 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:

pythonlst = [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:

pythonclass 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:

pythondef 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:

pythontry:
  lst = [1, 2, 3]
  res = get_sum(lst)
  print(res)
except ToBigLength:
  print('error 1')
except ToSmallLength:
  print('error 2')
Задание 1

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.

Задание 2

Ujilah fungsi yang telah Anda buat menggunakan konstruksi try-except. Dalam proses ini, tangkap juga pengecualian yang Anda buat.