logo

кидати і кидати в Java

У Java, обробка винятків є одним із ефективних засобів обробки помилок виконання, щоб можна було зберегти регулярний потік програми. Обробка винятків Java — це механізм для обробки помилок виконання, таких як ClassNotFoundException, IOException, SQLException, RemoteException тощо.

У цій статті ми дізнаємося про throw і throws в Java, яка може обробляти винятки в Java.



Java кинути

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

Синтаксис у Java throw

 throw   Instance  Example: throw new ArithmeticException('/ by zero');>

Але цей виняток, тобто Екземпляр має бути типу Кидковий або підклас Кидковий .

Наприклад , Exception є підкласом Throwable, а визначені користувачем винятки зазвичай розширюють клас Exception. На відміну від C++, такі типи даних, як int, char, floats або класи, які не можна викидати, не можуть використовуватися як винятки.



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

Java throw Приклади

Приклад 1:

Java






// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> fun()> >{> >try> {> >throw> new> NullPointerException(>'demo'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside fun().'>);> >throw> e;>// rethrowing the exception> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught in main.'>);> >}> >}> }>

>

java отримати поточну дату

>

Вихід

Caught inside fun(). Caught in main.>

Приклад 2

Java




// Java program that demonstrates> // the use of throw> class> Test {> >public> static> void> main(String[] args)> >{> >System.out.println(>1> />0>);> >}> }>

>

>

Вихід

Exception in thread 'main' java.lang.ArithmeticException: / by zero>

Ява кидає

throws — це ключове слово в Java, яке використовується в сигнатурі методу, щоб вказати, що цей метод може викликати один із перелічених винятків типу. Виклик цих методів має обробити виняток за допомогою блоку try-catch.

Синтаксис Java throws

 type method_name(parameters) throws exception_list exception_list is a comma separated list of all the exceptions which a method might throw.>

У програмі, якщо є шанс викликати виняток, компілятор завжди попереджає нас про це, і ми обов’язково повинні обробити цей перевірений виняток. Інакше ми отримаємо повідомлення про помилку під час компіляції неповідомлений виняток XXX має бути перехоплено або оголошено таким, що буде викинуто . Щоб запобігти цій помилці часу компіляції, ми можемо обробити виняток двома способами:

  1. За допомогою try catch
  2. За допомогою кидки ключове слово

Ми можемо використовувати ключове слово throws, щоб делегувати відповідальність за обробку винятків абоненту (це може бути метод або JVM), тоді метод викликаючого відповідатиме за обробку цього винятку.

Java кидає приклади

Приклад 1

Java




// Java program to illustrate error in case> // of unhandled exception> class> tst {> >public> static> void> main(String[] args)> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

>

mysql змінити тип стовпця

Вихід

error: unreported exception InterruptedException; must be caught or declared to be thrown>

Пояснення

У наведеній вище програмі ми отримуємо помилку часу компіляції, оскільки існує ймовірність виняткової ситуації, якщо основний потік переходить у режим сну, інші потоки отримують можливість виконати метод main(), який спричинить InterruptedException.

Приклад 2

Java




// Java program to illustrate throws> class> tst {> >public> static> void> main(String[] args)> >throws> InterruptedException> >{> >Thread.sleep(>10000>);> >System.out.println(>'Hello Geeks'>);> >}> }>

>

>

Вихід

Hello Geeks>

Пояснення

У наведеній вище програмі за допомогою ключового слова throws ми обробили InterruptedException і отримаємо результат як Привіт гіки

Приклад 3

Java




// Java program to demonstrate working of throws> class> ThrowsExecp {> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println(>'Inside fun(). '>);> >throw> new> IllegalAccessException(>'demo'>);> >}> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println(>'caught in main.'>);> >}> >}> }>

>

mylivecricket.

>

Вихід

Inside fun(). caught in main.>

Важливі моменти, про які слід пам’ятати про кидки Ключове слово

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