Разлика между хвърляне срещу хвърляне в Java

Изключение е събитие, което се случва по време на изпълнение на програма в Java, което по същество затруднява цялостното изпълнение на кода. Понякога системата обработва изключението по подразбиране, но в някои случаи трябва да обработваме изключение въз основа на нашия код или ситуации изрично. Предаването на изключения по персонализиран начин може да се обработва с помощта на: опитайте, хванете, хвърлете, хвърляйте и накрая ключови думи. Когато искаме да определим изключение в нашия код, ще използваме хвърляне, докато когато искаме да дефинираме няколко изключения изрично, ще използваме хвърляния. В тази тема ще обсъдим сравненията между хвърляне и хвърляне

Какво е хвърляне?

Когато искаме да обработим всяко изключение в нашия код, който не е проверен, ще използваме хвърляне. Хвърлянето може да се използва вътре в нашия код за обработка на изключенията по изричен начин. Не забравяйте, че можем да обработваме само един вид изключение наведнъж с помощта на хвърляне. Ако искате да използвате за многократно използване на хвърляне, трябва да използвате хвърляне, че много пъти.

Синтаксис:

throw

Пример:

throw new ArithmeticException();

Тези случаи на изключение трябва да бъдат подклас, наречен Throwable. Това е така, защото Throwable има своя подклас, наречен Exception, и под клас изключение, всички дефинирани от потребителя класове на изключения пребивават. Ето защо, уверете се, че използвате екземпляри с изключение, които са подкласове под линията на подхвърляне

Сега, нека разберем потока на програмата, когато я използваме за хвърляне. Кодът ще тече, докато не достигне хвърлянето и след това, той ще търси блока за пробвания. Опитният блок се изследва, за да се провери дали има някакъв оператор вътре в блока за улавяне, който спомена изключение, подобно на събитието. Ако да, тогава контролът се премества към това. Ако не, тя ще потърси следващия блок за опит и това ще продължи. Да предположим, че не намира никакъв такъв проб-блок за обработка на изключение, тогава системата ще обработва изключение, използвайки обработващ по подразбиране изключение и кодът ще бъде прекратен.

Какво е хвърляне?

Когато приемаме, че метод може да показва някои изключения в нашия код въз основа на опит, ние споменаваме всички изключения в подписа на метода чрез използване на ключовата дума хвърля. Всички изключения ще бъдат споменати разделени със запетаи.

Синтаксис:

() throws,

Пример:

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

Тъй като имате представа какво правят хвърлянията и хвърлянията, нека да разгледаме разликите между хвърлянията и хвърлянията, както е посочено по-долу:

Сравнение между главата и хвърлянето (Инфографика)

По-долу са топ 5 разликите между Throw срещу Throw в Java

Ключови разлики между Хвърляне срещу Хвърляне

Нека да разгледаме ключовите разлики между Хвърлянето срещу Хвърлянията в 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 List vs Array List
  2. JavaScript срещу VBScript
  3. PHP срещу JavaScript
  4. C срещу Java