Різниця між кидками та кидками в Java

Автор: Laura McKinney
Дата Створення: 1 Квітень 2021
Дата Оновлення: 15 Травень 2024
Anonim
Propnight #9 – Открытие пропбоксов 💎 Кооп с бездельниками 🤪
Відеоролик: Propnight #9 – Открытие пропбоксов 💎 Кооп с бездельниками 🤪

Зміст


Кидки та кидки - це ключові слова, які використовуються при обробці винятків. The кинути Ключове слово використовується для передачі екземпляра винятку, створеного програмістом, в JVM вручну. The кидки Ключове слово, яке використовується для передачі відповідальності за обробку винятку, сталося в методі методу виклику. Основна різниця між кидком і кидками полягає в тому, що ключове слово кидок використовує об'єкт виключення, тоді як ключове слово кидок використовує назву класів виключень.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основи порівняннякинутикидки
ОсновніПередача нашого створеного об’єкта винятків JVM вручну передає ключове слово "кидок".Ключове слово кидок використовується для делегування відповідальності за обробку винятків абоненту методу.
Синтаксискинути Throwable-instance;return_type method_name (список параметрів) викидає список ExceptionClass_list
{
// тіло методу
}
Слідом заКлючове слово кидок супроводжується об'єктом виключення.Ключове слово кидок супроводжується переліком класів виключень, які можуть виникати в методі.
Кількість кинутих винятківКлючове слово "кидок" може кидати один екземпляр винятку.Ключове слово кидок може оголосити кілька класів виключень, розділених комою.


Визначення кидка

Ключове слово "кинути"Використовується для передачі створеного екземпляра винятку JVM (Java Virtual Machine) вручну. Якщо "кинути" не використовується для викидання екземпляра винятку, і виняток виникає, тоді система виконання внутрішньо передає екземпляр винятку JVM, і програма закінчується аномально. Загальна форма ключового слова кидання:

кинути Throwable_instan;

Над Throwable_in substance повинен бути об'єкт класу Throwable. Примітивні типи, такі як int, float або char та екземпляр класу, що не можна перекидати, не можуть бути кинуті за допомогою ключового слова bac.

Давайте візьмемо приклад для розуміння ключового слова.

Тест класу {Публічний статичний недійсний головний (String args) {киньте новий ArithmeticException ("/ за нулем"); }}

У наведеному вище коді, ключове слово кидає екземпляр класу винятку "ArithmeticException". Якби ключове слово кидок тоді не використовувалося, метод main () створив би внутрішньо об’єкт винятку, переданий JVM.


Бали, які слід пам’ятати про ключове слово:

  • Він передає об'єкт виключення вручну JVM.
  • Його найкраще використовувати для визначених користувачем винятків або для персоналізованих винятків.
  • Якщо пам'ять не виділена об'єкту виключення, закинутому ключовим словом, тоді виникає виняток під час виконання, NullPointerException.
  • Ключове слово кидок зупиняє виконання програми відразу після її появи. ми не можемо безпосередньо написати будь-яку заяву після заяви про кидок. Якщо ми пишемо будь-яку позицію безпосередньо після оператора кидання, тоді компілятор покаже помилку, недоступну заяву під час компіляції.
  • За допомогою ключового слова кинути можна лише об'єкти класу Throwable. Якщо викинутий об'єкт не є об'єктом класу Throwable, тоді ми отримуємо помилку часу компіляції «Несумісний тип знайдено. . потрібно java.lang.Throwable ”

Примітка:

Ключове слово кидок використовується в C ++, JAVA, C #, щоб кинути виняток вручну.

Визначення кидків

"кидки"Ключове слово використовується для делегування відповідальності за обробку винятку, що стався в методі, на його метод виклику. Метод виклику відповідає за обробку винятку, це може бути будь-який інший метод або JVM. Він оголошує список класів виключень, які можуть виникати в методі.

Використання ключового слова кидок переконує компілятора, що виняток, що стався в методі, обробляється методом виклику, отже, помилка компіляції не виникає. Але метод виклику повинен обробляти виняток або делегувати відповідальність за обробку винятку на його метод ієрархії. Коли відбувається виняток із виконання, то навіть після використання ключового слова кидок це не перешкоджає аномальному припиненню програми. Якщо метод абонента main (), за замовчуванням JVM обробляє виняток.

Загальна форма ключового слова кидків:

return_type method_name (список параметрів) викидає виключенняClass_list {// тіло методу}

Ми можемо бачити, що ключове слово кидок з’являється після підпису методу, і воно може містити список класів виключень, які можуть виникати в методі. Список класів виключень, написаних після кидків ключового слова, відокремлюється комою.

Візьмемо один приклад, щоб зрозуміти ключове слово кидок.

тест calss {public static void main (String args) кидає InterruptedException {потік сну (10000); }}

У наведеному вище коді основна нитка робиться для сну деякий час, використовуючи метод sleep (). Тепер, коли основний метод знаходиться уві сні, можливо, інші потоки можуть перервати основну нитку. Але ключове слово кидок використовується після підписання методу main (), тому програма легко складеться. Ключове слово "кидки" оголошує перевірений клас винятку InterruptedException. Тепер, якщо будь-який інший потік перериває основний потік під час виконання, ключове слово кидає передачу цього винятку для виклику методу main (), який є JVM. JVM припинить програму аномально.

Бали, які слід пам’ятати про ключове слово для кидків:

  • Ключове слово "кидки" використовується лише для оголошення оголошених класів виключень. Використання ключового слова кидок для неперевіреного винятку не впливає.
  • Якщо метод не хоче самостійно обробляти виняток, він делегує цей виняток методу виклику цього класу за допомогою ключового слова кидок.
  • Його використання дозволяє лише плавно складати програму.
  • Якщо виняток виникає під час виконання, програма закінчується аномально, навіть після використання ключового слова кидок.
  • Рекомендується використовувати блок try / catch для нормального завершення програми, якщо виняток відбувається під час виконання.

Примітка:

Ключові слова кидки, які використовуються лише в Java. C ++ і C # не використовують ключове слово.

  1. Закидання ключового слова, передача відповідальності за обробку виключень JVM вручну, тоді як, ключове слово, кидає, відповідальність за обробку винятків методу виклику коду, коли стався виняток.
  2. Ключове слово кидок супроводжується об'єктом виключення, який він передає JVM. З іншого боку, за ключовим словом "кидок" супроводжуються класи виключень, які можуть виникати в методі.
  3. Ключове слово "кидок" може одночасно кидати один об'єкт виключення, тоді як ключове слово "кидки" може оголошувати кілька класів винятків, розділених комою одночасно.

Висновок:

Ключове слово кидок найкраще використовувати для спеціалізованого винятку. Блок try / catch найкраще обробляти винятки порівняно з ключовим словом.