Fungsi dengan Pengecualian dalam Python

Pengecualian sangat mudah untuk dibangkitkan, dengan menetapkannya dalam fungsi menggunakan syarat.

Mari kita buat fungsi get_sum, yang akan mengembalikan jumlah elemen senarai hanya jika panjang senarai kurang daripada atau sama dengan 3. Jika tidak, biarkan pengecualian kita ToBigLength dibangkitkan:

pythondef get_sum(lst):
  if len(lst) <= 3:
    return sum(lst)
  else:
    raise ToBigLength

Sekarang mari kita berikan senarai kepada fungsi get_sum dan cetak fungsi tersebut ke konsol:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # akan mengeluarkan 6

Dalam fungsi, kita juga boleh menangkap beberapa jenis pengecualian. Mari kita buat satu lagi kelas pengecualian ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Sekarang mari kita tetapkan syarat dalam fungsi, jika panjang senarai sama dengan sifar, biarkan ToSmallLength dibangkitkan. Jika tiada pengecualian ditangkap, maka biarkan jumlah semua elemen senarai dikembalikan:

pythondef get_sum(lst):
  if len(lst) > 3:
    raise ToBigLength
  if len(lst) == 0:
    raise ToSmallLength
  else:
    return sum(lst)

Untuk kemudahan, kita boleh letakkan senarai yang akan diberikan kepada parameter fungsi, fungsi itu sendiri, dan panggilannya dalam blok try. Dan penangkapan kedua-dua pengecualian kita akan diletakkan 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

Buat fungsi yang parameternya akan menerima satu nombor. Di dalamnya, tetapkan syarat, jika nombor itu negatif dan sama dengan sifar, biarkan pengecualian yang sepadan dibangkitkan. Jika tidak, biarkan nombor itu didarabkan dengan 3.

Задание 2

Uji fungsi yang anda buat menggunakan konstruksi try-except. Pada masa yang sama, tangkap pengecualian anda juga.