- Обробка винятків
- Перевага обробки винятків
- Ієрархія класів винятків
- Типи винятків
- Приклад винятку
- Сценарії, коли може статися виняток
The Обробка винятків у Java є одним із могутніх механізм обробки помилок виконання щоб можна було підтримувати нормальний потік програми.
У цьому посібнику ми дізнаємося про винятки Java, їх типи та різницю між перевіреними та неперевіреними винятками.
центральна кнопка в css
Що таке винятки в Java?
Значення словника: Винятком є ненормальний стан.
У Java винятком є подія, яка порушує нормальний хід програми. Це об’єкт, який викидається під час виконання.
Що таке обробка винятків?
Обробка винятків — це механізм для обробки помилок виконання, таких як ClassNotFoundException, IOException, SQLException, RemoteException тощо.
Перевага обробки винятків
Основною перевагою обробки винятків є для підтримки нормального потоку програми . Виняток зазвичай порушує нормальний хід програми; ось чому нам потрібно обробляти винятки. Розглянемо сценарій:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Припустімо, що в програмі на Java є 10 операторів і виняток виникає в операторі 5; решта коду не виконуватиметься, тобто оператори з 6 по 10 не виконуватимуться. Однак, коли ми виконуємо обробку винятків, решта операторів буде виконано. Ось чому ми використовуємо обробку винятків Java .
Чи ти знаєш?
|
Ієрархія класів Java Exception
Клас java.lang.Throwable є кореневим класом ієрархії Java Exception, успадкованої двома підкласами: Exception і Error. Ієрархія класів Java Exception наведена нижче:
Типи винятків Java
В основному є два типи винятків: перевірені та неперевірені. Помилка вважається неперевіреним винятком. Однак, згідно з Oracle, існує три типи винятків, а саме:
- Перевірений виняток
- Неперевірений виняток
- Помилка
Різниця між перевіреними та неперевіреними винятками
1) Перевірений виняток
Класи, які безпосередньо успадковують клас Throwable, крім RuntimeException і Error, відомі як перевірені винятки. Наприклад, IOException, SQLException тощо. Перевірені винятки перевіряються під час компіляції.
2) Неперевірений виняток
Класи, які успадковують RuntimeException, відомі як неперевірені винятки. Наприклад, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException тощо. Неперевірені винятки не перевіряються під час компіляції, але вони перевіряються під час виконання.
3) Помилка
Помилка невиправна. Деякими прикладами помилок є OutOfMemoryError, VirtualMachineError, AssertionError тощо.
Ключові слова винятків Java
Java надає п'ять ключових слів, які використовуються для обробки винятку. У наведеній нижче таблиці описано кожен.
Ключове слово | опис |
---|---|
спробувати | Ключове слово 'try' використовується для вказівки блоку, де ми повинні розмістити код винятку. Це означає, що ми не можемо використовувати лише блок try. Після блоку try має слідувати catch або finally. |
виловити | Блок catch використовується для обробки винятку. Йому має передувати блок try, що означає, що ми не можемо використовувати один блок catch. Пізніше за ним може послідувати остаточне блокування. |
нарешті | Блок finally використовується для виконання необхідного коду програми. Він виконується незалежно від того, обробляється виняток чи ні. |
кинути | Ключове слово 'throw' використовується для створення винятку. |
кидки | Ключове слово 'throws' використовується для оголошення винятків. Це вказує, що в методі може виникнути виняток. Це не створює винятків. Він завжди використовується з підписом методу. |
Приклад обробки винятків Java
Давайте розглянемо приклад обробки винятків Java, у якому ми використовуємо оператор try-catch для обробки винятку.
JavaExceptionExample.java
public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } }Перевірте зараз
Вихід:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
У наведеному вище прикладі 100/0 викликає ArithmeticException, який обробляється блоком try-catch.
Поширені сценарії винятків Java
Наведено кілька сценаріїв, коли можуть виникнути неперевірені винятки. Вони такі:
1) Сценарій, у якому виникає ArithmeticException
Якщо ми ділимо будь-яке число на нуль, виникає ArithmeticException.
int a=50/0;//ArithmeticException
2) Сценарій, у якому виникає виняткова ситуація NullPointerException
Якщо ми маємо нульове значення в будь-якому змінна , виконання будь-якої операції над змінною викликає виключення NullPointerException.
String s=null; System.out.println(s.length());//NullPointerException
3) Сценарій, у якому виникає NumberFormatException
Якщо форматування будь-якої змінної або числа не відповідає, це може призвести до NumberFormatException. Припустимо, ми маємо a рядок змінна, яка має символи; перетворення цієї змінної в цифру спричинить виключення NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Сценарій, у якому виникає ArrayIndexOutOfBoundsException
Коли масив перевищує свій розмір, виникає виключення ArrayIndexOutOfBoundsException. можуть бути інші причини виникнення ArrayIndexOutOfBoundsException. Розглянемо наступні твердження.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Індекс винятків Java
- Блок Java Try-Catch
- Java Multiple Catch Block
- Java Nested Try
- Java Finally Block
- Java Throw Keyword
- Поширення винятків Java
- Java викидає ключове слово
- Java Throw проти Throws
- Java Final проти Finally проти Finalize
- Обробка винятків Java із перевизначенням методу
- Спеціальні винятки Java