
- •1. Історія створення Java.
- •2. Історія розвитку Java
- •3.Опишіть поняття “об’єкт”
- •4. Опишіть поняття “клас”
- •5. Опишіть типи відношень між класами
- •6. Переваги і недоліки об’єкто-зорієнтованого програмування
- •7. Опишіть правила побудови ідентифікаторів мови Java, наведіть приклади
- •8. Поняття літералів. Приклади
- •9. Оператори та операції в мові Java
- •11. Типи даних у мові Java
- •12. Клас Object
- •13. Клас String
- •14. Клас Class
- •15. Імена в Java
- •16. Пакети в Java
- •17. Область видимості імен
- •18.Об’ява класів у Java
- •19.Приведення типів у Java
- •21.Приведення посилальних типів даних.
- •22.Приведення до рядка.
- •23.Заборонені приведення.
- •24.Застосування приведення типів.
- •25.Статичні елементи.
- •26. Ключові слова this і super.
- •27. Ключове слово abstract.
- •28. Поняття інтерфейсів.
- •29. Поліморфізм.
- •30. Масиви в Java.
- •31. Приведення типів для масивів.
- •32. Клонування масивів.
- •33. Керування ходом виконання програми.
- •34. Нормальне і перерване виконання операторів.
- •35. Блоки і локальні змінні.
- •36. Порожній оператор.
- •38. Синтаксис оператора if.
- •39. Синтаксис оператора switch.
- •40. Керування циклами.
- •41.Синтаксис оператора while
- •42.Ситаксис оператора do
- •43.Синтаксис оператора for
- •44.Оператори break I continue
- •45.Іменовані блоки
- •46. Оператор return
- •47. Оператор synchronized
- •48. Помилки при роботі програми. Виняткові ситуації
- •48. Помилки при роботі програми. Виняткові ситуації
- •49.Причини виникнення помилок
- •50.Обробки виняткових ситуацій
- •51.Конструкція try-catch-finally
- •52.Використання оператора throw
- •53.Виняткові ситуації, які перевіряються і які не перевіряються
- •54.Створення класів користувача обробки виняткових ситуацій
- •55.Поняття потокв в Java
- •56.Базові класи для роботи з потоками
- •57.Класс Thread
- •58. Інтерфейс Runnable
- •60. Потоки-демони
- •61.Синхронізація роботи потоків.
- •62.Класи обгортки для примітивних типів.
- •63.Клас Math.
- •66.Клас Calendar.
- •67.Клас TimeZone.
- •68. Колекції java
- •69.Інтерфейс Collection.
- •70.Інтерфейс Set.
- •71.Інтерфейс List.
- •72.Інтерфейс Map.
- •73.Інтерфейс SortedSet.
- •74.Інтерфейс SortedMap.
- •75.Інтерфейс Iterator.
- •76.Конкретні класи колекцій.
- •77.Клас Properties.
- •78. Інтерфейс Comparator.
- •79.Клас BitSet.
- •80.Клас Random.
- •81.Система введення/виведення. Потоки даних.
- •82.Класи реалізації потоків даних.
- •84. Робота із файловою системою.
- •59. Робота із пріоритетами потоків
52.Використання оператора throw
Крім того, що зумовлена виняткова ситуація могла бути збуджена
виконуючою системою Java , програміст сам може згенерувати цю умову. Робиться це за допомогою оператора throw .
Наприклад .... public int calculate ( int theValue ) {
if ( theValue < 0 ) {
throw new Exception ( " Параметр для обчислення не повинен бути негативним " ) ;
}} ...
В даному випадку , передбачається , як параметр методу може бути передано
тільки позитивне значення , якщо ця умова не виконана , то за допомогою оператора
throw збуджується виняткова ситуація. Насправді даний коду не буде
откомпилирован , т.к. компілятор видасть повідомлення про помилку. Якщо в методі збуджується
виняткова ситуація , то має бути виконана одна з двох правил
• виняткова ситуація повинна бути оброблена в тілі методу (тобто код долженвозбуждающій виняткову ситуацію , повинен бути поміщений в блок try {}
catch ( UserException ue ) { } )
• метод має делегувати обробку виняткової ситуації викликав його коду.Для цього в сигнатурі методу застосуються ключове слово throws , після якого повинні бути перераховані через кому всі виключні ситуації , які може
викликати даний метод . Тобто Наведений вище приклад повинен бути приведений до
наступного вигляду ....
public int calculate ( int theValue ) throws Exception {
if ( theValue < 0 ) {
throw new Exception ( " Some descriptive info " ) ;
Конструкція try - catch - finally Стор. 29 з 51
Програмування на Java
Rendered by www.RenderX.com }
} ...
Т.ч. збудження виняткової ситуації в програмі проводиться за допомогою
оператора throw , ліворуч від якого вказується об'єкт , який може бути приведений до
типом Throwable . ( Як правило цей об'єкт створюється в цьому ж місці за допомогою оператора
new , хоча ця умова і не є обов'язковим)
У деяких випадках після обробки виняткової ситуації , можливо , виникне
необхідність передати інформацію про неї в викликає код .
У цьому випадку throw використовується вдруге.
наприклад
...
try {
...
} catch ( IOException ex ) {
...
/ / Обробка виняткової ситуації
...
/ / Повторне збудження виняткової ситуації
throw ex ;
}
Розглянемо ще один випадок.
Припустимо , що оператор throw застосовується всередині конструкції try catch .
try {
...
throw new IOException ();
...
} catch ( Exception e ) {
...
}
У цьому випадку , виключення порушену в блоці try не буде віддане для обробки на
більш високий рівень ієрархії , а обробиться в межах блоку try catch . , т.к. тут
міститься оператор , який може це виняток перехватіть.Т.е . як би станеться
неявна передача керування , на відповідний блок cacth
Слід звернути увагу слухачів , що такий спосіб використання конструкції try
catch не рекомендується, тому витрати на обробку будуть незрівнянно вище , ніж при
використанні операторів if . Слід звернути також увагу на те , що блок catch
може бути порожнім , тобто не виробляти ніякої обробки , проте виняток
вважатиметься перехоплених і далі по ієрархії передано не буде .
try {
Програмування на Java
Стор. 30 з 51 Помилки при роботі програми . Винятки ( Exceptions ) .
Rendered by www.RenderX.com ...
throw new IOException ();
...
} catch ( Exception e ) { ;
}
в даному випадку оператор try завершиться нормально .