Різниця між Throw та Throw на Java

Виняток - подія, яка трапляється під час виконання програми в java, яка в основному перешкоджає загальному виконанню коду. Іноді система обробляє виняток за замовчуванням, але в деяких випадках нам потрібно обробляти винятки на основі нашого коду чи ситуації. Подання винятків на замовлення можна обробити за допомогою: спробувати, зловити, кинути, кидати і, нарешті, ключові слова. Коли ми хочемо визначити виняток всередині нашого коду, ми будемо використовувати кидок, тоді як коли ми хочемо чітко визначити кілька винятків, ми будемо використовувати кидки. У цій темі ми обговоримо порівняння між кидками та кидками

Що таке кидання?

Коли ми хочемо обробити будь-який виняток у нашому коді, який не встановлений, ми використовуємо кидок. Кидок може використовуватися всередині нашого коду, щоб явно обробляти винятки. Пам'ятайте, що ми можемо одночасно обробляти лише один тип виключень, використовуючи кидок. Якщо ви хочете скористатися кидком багаторазового використання, вам потрібно скористатися кидком багато разів.

Синтаксис:

throw

Приклад:

throw new ArithmeticException();

Ці випадки виключення повинні бути нижчим класом під назвою Throwable. Це відбувається тому, що у Throwable є свій підклас під назвою «Виняток», а під класом винятку - всі визначені користувачем класи виключень. Тому переконайтеся, що ви використовуєте екземпляри виключень, які є підкласами під рядком, що підлягає передачі

Тепер давайте зрозуміємо потік програми, коли ми використовуємо її для кидання. Код буде протікати до тих пір, поки не досягне кидка, і після цього він здійснить пошук блоку спробувати. Блок спробу перевіряється, щоб перевірити, чи є який-небудь оператор всередині блоку лову, який згадав виняток, подібний до виникнення. Якщо так, то контроль переміщується до цього. Якщо ні, то він буде шукати наступний блок-спроб, і це продовжується. Припустимо, він не знаходить жодного такого блоку спробу вилову для обробки винятку, тоді система буде обробляти виняток, використовуючи обробник винятків за замовчуванням, і код буде припинено.

Що таке кидки?

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

Синтаксис:

() throws,

Приклад:

void ExceptionExample() throws ArithmeticException, NullPointerException
(
//code
)

Оскільки ви маєте уявлення про те, що роблять кидки та кидки, давайте розглянемо відмінності між кидками та кидками, як показано нижче:

Порівняння між головами та кидками (Інфографіка)

Нижче наведено 5 найкращих відмінностей між Throw vs Throw на Java

Ключові відмінності між киданнями та кидками

Давайте подивимось на ключові відмінності між Throw vs Throw in java нижче:

  • Коли ми хочемо визначити виняток всередині нашого коду, ми будемо використовувати кидок. Але, коли ми хочемо чітко визначити винятки, ми будемо використовувати кидки.
  • Якщо ми використовуємо кидок, код не може надходити у випадку перевірених винятків. Коли винятки перевіряються, його можна передавати за допомогою кидків
  • Синтаксично, ми пишемо змінну для екземпляра після кидка. Тоді як ми пишемо класи виключень, розділені комами після кидків
  • Ми використовуємо кидок під визначенням методу. В той час, як ми оголошуємо викиди у вивісках методу.
  • Throw має обмеження поводження з єдиним винятком одночасно. З іншого боку, Throw може обробляти кілька винятків.

Таблиця порівняння Табл

Давайте обговоримо верхнє порівняння між Throw та Throw на Java

Основи порівняння між киданнями та киданнями

Кинути

Кидає

Як або коли використовуватиУ тих випадках, коли нам потрібно надати логічне виключення всередині коду, ми, в цих випадках, як правило, використовуємо ключове слово кидання під функцію.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

У тих випадках, коли оператор функції може призвести до винятку, ми, в цих випадках, як правило, використовуємо ключове слово кидок з функцією для обробки цих винятків.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

На підставі підрахунку винятківЗа один момент часу кидок можна використовувати для кидання лише одного винятку. Коли нам потрібно кинути конкретний виняток, ми будемо використовувати кидок.

Наприклад:

// throw only a particular exception
throw new NullPointerException ();

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

Наприклад:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

Про перспективу синтаксисуМи використовуємо функцію кидання всередину функції та обробляємо єдиний тип виключення

Наприклад:

// throw only a particular exception
throw new NullPointerException ();

Ми будемо використовувати кидок з функцією для обробки декількох винятків за один раз, використовуючи назву цих класів виключень.

Наприклад:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException ();
)

Перевірена / неперевірена перспективаПеревірені винятки неможливо обробити кидком. Він може обробляти лише неперевірені винятки, які не можуть бути оброблені кидками або перевіреними винятками.

Наприклад:

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw new NullPointerException (); //null pointer was not checked
, hence we used in throw
)

Коли ми знаємо виняток apriori і згадуємо тих, хто кидає, вони стануть перевіреними винятками.

Наприклад:

void ExceptionExample() throws ArithmeticException,
NullPointerException //explicit checked exceptions
(
//other code
)

Приклад кодуКинути:

public class ExceptionExample (
public static void main(String() args)
(
// Use of checked Exception by throw
try (
double num=1/0;
throw new ArithmeticException();
)
catch (ArithmeticException e)
(
e.printStackTrace();
)
)
)

Кидає:

import java.io.IOException;
public class ExceptionExample (
public static void main(String() args)
throws ArithmeticException //here we use unchecked
exception by throws
(
double num=1/0;
System.out.println (num);
)
)

Висновок

Це відмінності між кидками та кидками на Java. Кидки можуть дати вам можливість використовувати декілька винятків за один раз, але кинути це не вдається. В основному на основі цього розрізнення, ви повинні використовувати кидки, якщо вам потрібно надати кілька винятків за один раз, якщо ви не впевнені, тоді просто використовуйте кидок, щоб ставити винятки по одному.

Рекомендовані статті

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

  1. Список Java проти списку масивів
  2. JavaScript проти VBScript
  3. PHP проти JavaScript
  4. C проти Java