Różnica między rzutami a rzutami w Javie

Wyjątkiem jest zdarzenie, które ma miejsce podczas wykonywania programu w Javie, co w zasadzie utrudnia ogólne wykonanie kodu. Czasami system domyślnie obsługuje wyjątek, ale w niektórych przypadkach musimy jawnie obsłużyć wyjątek na podstawie naszego kodu lub sytuacji. Przekazanie wyjątku w spersonalizowany sposób można rozwiązać za pomocą: spróbuj, złap, rzucaj, rzuca i wreszcie słowa kluczowe. Kiedy chcemy zdefiniować wyjątek w naszym kodzie, użyjemy rzucania, natomiast gdy chcemy jawnie zdefiniować wiele wyjątków, użyjemy rzuceń. W tym temacie omówimy porównania między rzutami a rzutami

Co to jest rzut?

Kiedy chcemy obsłużyć każdy wyjątek w naszym kodzie, który nie jest zaznaczony, użyjemy funkcji throw. Rzut może być użyty w naszym kodzie, aby obsłużyć wyjątki w sposób jawny. Pamiętaj, że możemy obsłużyć tylko jeden typ wyjątku na raz za pomocą rzutu. Jeśli chcesz użyć rzutu wielokrotnego, musisz użyć rzutu tyle razy.

Składnia:

throw

Przykład:

throw new ArithmeticException();

Te wyjątki muszą znajdować się w klasie niższej pod nazwą Throwable. Wynika to z tego, że Throwable ma swoją podklasę o nazwie Wyjątek, aw klasie wyjątków znajdują się wszystkie klasy wyjątków zdefiniowane przez użytkownika. Dlatego upewnij się, że używasz instancji wyjątków, które są podklasami pod linią do rzucania

Teraz zrozummy przepływ programu, gdy używamy go do rzucania. Kod będzie przepływał, aż dotrze do rzutu, a następnie wyszuka blok try-catch. Blok try jest sprawdzany w celu sprawdzenia, czy w bloku catch znajduje się instrukcja, która wspomniała o wyjątku podobnym do wystąpienia. Jeśli tak, kontrola jest do tego przenoszona. Jeśli nie, wyszuka następny blok try-catch i będzie to kontynuowane. Załóżmy, że nie znajdzie takiego bloku try-catch do obsługi wyjątku, wówczas system obsłuży wyjątek za pomocą domyślnej procedury obsługi wyjątku, a kod zostanie zakończony.

Co to są rzuty?

Kiedy zakładamy, że metoda może pokazywać pewne wyjątki w naszym kodzie na podstawie doświadczenia, wspominamy o wszystkich wyjątkach w sygnaturze metody za pomocą słowa kluczowego throws. Wszystkie wyjątki zostaną wymienione oddzielone przecinkami.

Składnia:

() throws,

Przykład:

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

Kiedy masz pojęcie, co robią rzuty i rzuty, przyjrzyjmy się różnicom między rzutami i rzutami, jak poniżej:

Porównanie między rzutami a rzutami (infografiki)

Poniżej znajduje się 5 najważniejszych różnic między rzutami a rzutami w Javie

Kluczowe różnice między rzutami a rzutami

Przyjrzyjmy się kluczowym różnicom między rzutami a rzutami w Javie, jak poniżej:

  • Kiedy chcemy zdefiniować wyjątek w naszym kodzie, użyjemy funkcji throw. Ale kiedy chcemy jawnie zdefiniować wyjątki, użyjemy rzutów.
  • Jeśli użyjemy rzutu, kod nie może przepłynąć w przypadku sprawdzonych wyjątków. Gdy zaznaczone są wyjątki, można je przepłynąć za pomocą rzutów
  • Pod względem składniowym piszemy zmienną dla instancji po rzucie. Podczas gdy piszemy klasy wyjątków, oddzielamy je przecinkami
  • Używamy rzutu zgodnie z definicją metody. Podczas gdy deklarujemy zgłasza wyjątek w podpisie metody.
  • Rzut ma ograniczenie obsługi jedynego wyjątku na raz. Z drugiej strony, Rzuty mogą obsługiwać wiele wyjątków.

Tabela porównawcza rzutów i rzutów

Omówmy najlepsze porównanie między rzutami a rzutami w Javie

Podstawa porównania między rzutami a rzutami

Rzucać

Rzuty

Jak lub kiedy używaćW tych przypadkach, gdy musimy podać logiczny wyjątek w kodzie, zazwyczaj używamy słowa kluczowego throw w funkcji.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

W tych przypadkach, gdy instrukcja funkcji może spowodować wyjątek, w takich przypadkach zwykle używamy słowa kluczowego throws z funkcją do obsługi tych wyjątków.

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

Na podstawie wyjątkuW jednym momencie rzut można wykorzystać do rzucenia tylko jednego wyjątku. Kiedy musimy rzucić określony wyjątek, użyjemy rzutu.

Na przykład:

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

Rzuty mogą obsługiwać wiele wyjątków. Kiedy musimy obsłużyć wiele wyjątków, możemy użyć rzutów, w których nazwy wyjątków są wymienione przecinkami. Kiedy wystąpi jakiś wyjątek, automatycznie dopasuje się do zadeklarowanych wyjątków z rzutami i odpowiednio się zajmie.

Na przykład:

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

Z perspektywy składniUżywamy funkcji rzutowania wewnątrz funkcji i do obsługi jednego rodzaju wyjątku

Na przykład:

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

Użyjemy funkcji throw z funkcją do obsługi wielu wyjątków za jednym razem, używając nazw tych klas wyjątków.

Na przykład:

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

Sprawdzona / niezaznaczona perspektywaZaznaczone wyjątki nie mogą być obsługiwane przez rzut. Może obsługiwać tylko niezaznaczone wyjątki, których nie można obsłużyć przez rzucanie lub sprawdzone wyjątki.

Na przykład:

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

Kiedy poznamy wyjątek apriori i wspomnimy o tych w rzutach, staną się sprawdzonymi wyjątkami.

Na przykład:

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

Przykład koduRzucać:

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();
)
)
)

Rzuty:

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);
)
)

Wniosek

Są to różnice między rzutami i rzutami w Javie. Rzuty mogą dać ci swobodę korzystania z wielu wyjątków za jednym razem, ale rzut nie może. Opierając się głównie na tym rozróżnieniu, musisz użyć rzutów, jeśli musisz podać wiele wyjątków za jednym razem, jeśli nie jesteś pewien, po prostu użyj rzutu, aby umieścić wyjątki jeden po drugim.

Polecane artykuły

Jest to przewodnik po Throw vs. Throw w Javie. Tutaj omawiamy kluczowe różnice między rzutami a rzutami w Javie z infografiką i tabelą porównawczą. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Lista Java a lista macierzy
  2. JavaScript vs VBScript
  3. PHP vs JavaScript
  4. C vs Java