Разница между бросками против бросков в Java

Исключением является событие, которое происходит во время выполнения программы в Java, что в основном препятствует общему выполнению кода. Иногда система обрабатывает исключение по умолчанию, но в некоторых случаях нам нужно обрабатывать исключение на основе нашего кода или ситуаций в явном виде. Обработку исключений можно настроить с помощью ключевых слов: try, catch, throw, throws и finally. Когда мы хотим определить исключение внутри нашего кода, мы будем использовать throw, тогда как когда мы хотим явно определить несколько исключений, мы будем использовать throw. В этой теме мы обсудим сравнение бросков с бросками

Что такое Бросок?

Когда мы хотим обработать любое исключение в нашем коде, которое не проверено, мы будем использовать throw. Бросок может использоваться внутри нашего кода для явной обработки исключений. Помните, что мы можем обрабатывать только один тип исключений одновременно с помощью throw. Если вы хотите использовать для многократного использования throw, вам нужно использовать throw много раз.

Синтаксис:

throw

Пример:

throw new ArithmeticException();

Эти экземпляры исключений должны быть подклассом Throwable. Это связано с тем, что Throwable имеет свой подкласс под названием Exception, а в классе исключений находятся все пользовательские классы исключений. Поэтому убедитесь, что вы используете экземпляры исключений, которые являются подклассами под строкой throwable

Теперь давайте разберемся с потоком программы, когда мы ее используем для броска. Код будет проходить до тех пор, пока не достигнет броска, и после этого он будет искать блок try-catch. Блок try проверяется, чтобы проверить, есть ли какой-либо оператор внутри блока catch, в котором упомянуто исключение, похожее на вхождение. Если да, то контроль переносится на это. Если нет, он будет искать следующий блок try-catch, и это продолжается. Предположим, что он не находит ни одного такого блока try-catch для обработки исключения, тогда система обработает исключение, используя обработчик исключений по умолчанию, и код будет завершен.

Что такое Броски?

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

Синтаксис:

() throws,

Пример:

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

Поскольку у вас есть представление о том, что делают броски и броски, давайте посмотрим на различия между бросками и бросками, как показано ниже:

Сравнение лицом к лицу между броском и броском (инфографика)

Ниже приведены 5 основных различий между Throw и Throws в Java.

Ключевые различия между бросками против бросков

Давайте посмотрим на ключевые различия между бросками против бросков в Java, как показано ниже:

  • Когда мы хотим определить исключение внутри нашего кода, мы будем использовать throw. Но когда мы хотим явно определить исключения, мы будем использовать throws.
  • Если мы используем throw, код не может выполняться в случае проверенных исключений. Когда исключения проверяются, они могут быть обработаны с помощью бросков
  • Синтаксически мы записываем переменную для экземпляра после throw. Принимая во внимание, что мы пишем классы исключений, разделенные запятыми после бросков
  • Используем throw по определению метода. Принимая во внимание, что мы объявляем исключение throws в сигнатуре метода.
  • Бросок имеет ограничение обработки единственного исключения за один раз. С другой стороны, Throws может обрабатывать несколько исключений.

Сравнительная таблица бросков против бросков

Давайте обсудим лучшее сравнение между Throw и Throws в Java

Основа сравнения бросков против бросков

бросать

Броски

Как или когда использоватьВ тех случаях, когда нам нужно предоставить логическое исключение внутри кода, мы обычно используем ключевое слово throw в функции.

void ExceptionExample() throws ArithmeticException,
NullPointerException
(
throw

В тех случаях, когда утверждение функции может привести к исключению, в этих случаях мы обычно используем ключевое слово throws с функцией для обработки этих исключений.

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

На основе исключенияВ один момент времени бросок может быть использован, чтобы бросить только одно исключение. Когда нам нужно выбросить конкретное исключение, мы будем использовать throw.

Например:

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

Броски могут обрабатывать несколько исключений. Когда нам нужно обработать несколько исключений, мы можем использовать throws, где имена исключений упоминаются через запятую. Когда происходит какое-либо исключение, оно автоматически сопоставляется с объявленными исключениями с помощью throws и обрабатывает соответственно.

Например:

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

С точки зрения синтаксисаМы используем throw внутри функции и для обработки одного типа исключения

Например:

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

Мы будем использовать throw с функцией для обработки нескольких исключений за один раз, используя имя этих классов исключений.

Например:

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
)

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

Например:

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

Вывод

Это различия между throw и throws в Java. Броски могут дать вам свободу использования нескольких исключений за один раз, но бросок не может. Основываясь главным образом на этом различии, вы должны использовать throw, если вам нужно предоставить несколько исключений за один раз, если вы не уверены, тогда просто используйте throw, чтобы помещать исключения по одному.

Рекомендуемые статьи

Это руководство к броску против бросков в Java. Здесь мы обсуждаем броски против бросков в ключевых различиях java с инфографикой и таблицей сравнения. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

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