Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created October 3, 2025 11:00
Show Gist options
  • Select an option

  • Save sunmeat/a5ccfcbbde40a5615a2883596a2f1438 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/a5ccfcbbde40a5615a2883596a2f1438 to your computer and use it in GitHub Desktop.
завдання на користувацькі вийнятки

Інтеграція користувацьких винятків у систему управління студентами

На основі вивчених прикладів обробки винятків, інтегруйте користувацькі винятки у ваш існуючий код класів Student та Group. Фокус на створенні та використанні ієрархії винятків для обробки помилкових ситуацій у методах, пов'язаних з оцінками, додаванням/редагуванням студентів та управлінням групою.

Частина 1: Створення ієрархії користувацьких винятків Створіть ієрархію користувацьких винятків на основі ApplicationException, подібно до прикладів з JobImpossible. Використовуйте геттери та сеттери для додаткових даних у винятках. Обов'язкові винятки (з двома базовими класами та по три нащадки для кожного):

Винятки для студента (базовий: StudentManagementException):

  • StudentManagementException - базовий для помилок студента.
  • InvalidGradeException - невалідна оцінка.
  • StudentNotFoundException - студент не знайдений.
  • InvalidStudentDataException - невалідні дані студента.

Винятки для групи (базовий: GroupManagementException):

  • GroupManagementException - базовий для помилок групи.
  • GroupFullException - група переповнена.
  • InvalidGroupDataException - невалідні дані групи.
  • TransferFailedException - помилка переведення.

Використовуйте ваш існуючий код Student та Group. Додайте обробку винятків у ключові методи, де можливі помилки. Обов'язково використовуйте try-catch-finally для логування помилок (виводьте повідомлення в консоль, наприклад, "сталася помилка: [деталі]").

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment