У Java, виняток це небажана або неочікувана подія, яка відбувається під час виконання програми, тобто під час виконання, що порушує нормальний потік інструкцій програми.
У Java є два типи винятків:
- Перевірені винятки
- Неперевірені винятки

Перевірені винятки в Java
Ці це винятки, які перевіряються під час компіляції. Якщо якийсь код у межах методу створює перевірений виняток, тоді метод повинен або обробити виняток, або він має вказати виняток за допомогою кидки ключове слово . У перевірених винятках існує два типи: повністю перевірені та частково перевірені винятки. Повністю перевірений виняток — це перевірений виняток, де також перевіряються всі його дочірні класи, наприклад IOException і InterruptedException. Частково перевірений виняток — це перевірений виняток, де деякі з його дочірніх класів не позначено, як Виняток.
Наприклад, розглянемо таку програму Java, яка відкриває файл у розташуванні C: esta.txt і друкує його перші три рядки. Програма не компілюється, оскільки функція main() використовує FileReader(), а FileReader() генерує перевірений виняток FileNotFoundException . Він також використовує методи readLine() і close(), і ці методи також викидають перевірений виняток IOException
масив рядків c програмування
приклад:
Java
// Java Program to Illustrate Checked Exceptions> // Where FileNotFoundException occurred> // Importing I/O classes> import> java.io.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Reading file from path in local directory> >FileReader file =>new> FileReader(>'C: esta.txt'>);> >// Creating object as one of ways of taking input> >BufferedReader fileInput =>new> BufferedReader(file);> >// Printing first 3 lines of file 'C: esta.txt'> >for> (>int> counter =>0>; counter <>3>; counter++)> >System.out.println(fileInput.readLine());> >// Closing file connections> >// using close() method> >fileInput.close();> >}> }> |
>
>
Вихід:

Щоб виправити наведену вище програму, нам потрібно або вказати список винятків за допомогою throws, або нам потрібно використати блок try-catch. Ми використовували кидки в наведеній нижче програмі. Оскільки FileNotFoundException є підкласом IOException , ми можемо просто уточнити IOException у списку кидків і зробіть програму компілятора без помилок.
приклад:
Java
список користувачів mysql
// Java Program to Illustrate Checked Exceptions> // Where FileNotFoundException does not occur> // Importing I/O classes> import> java.io.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> >// Creating a file and reading from local repository> >FileReader file =>new> FileReader(>'C: esta.txt'>);> >// Reading content inside a file> >BufferedReader fileInput =>new> BufferedReader(file);> >// Printing first 3 lines of file 'C: esta.txt'> >for> (>int> counter =>0>; counter <>3>; counter++)> >System.out.println(fileInput.readLine());> >// Closing all file connections> >// using close() method> >// Good practice to avoid any memory leakage> >fileInput.close();> >}> }> |
>
>
Вихід:
First three lines of file 'C: esta.txt'>
Неперевірені винятки в Java
Це винятки, які не перевіряються під час компіляції. У C++ усі винятки не перевіряються, тому компілятор не змушує його обробляти чи вказувати виняток. Програмісти повинні бути цивілізованими та вказувати чи ловити винятки. У Java винятки під Помилка і RuntimeException класи є неперевіреними винятками, усе інше під кидком перевіряється.
динамічний масив у java
Розглянемо наступну програму Java. Він добре компілюється, але викидає ArithmeticException при запуску. Компілятор дозволяє компілювати, оскільки ArithmeticException є неперевіреним винятком.
приклад:
Java
рядок обробки java
// Java Program to Illustrate Un-checked Exceptions> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Here we are dividing by 0> >// which will not be caught at compile time> >// as there is no mistake but caught at runtime> >// because it is mathematically incorrect> >int> x =>0>;> >int> y =>10>;> >int> z = y / x;> >}> }> |
>
>
Вихід
Exception in thread 'main' java.lang.ArithmeticException: / by zero at Main.main(Main.java:5) Java Result: 1>
Коротше кажучи, неперевірені винятки — це винятки під час виконання, які не потрібно перехоплювати або оголошувати в пункті throws. Ці винятки зазвичай викликані помилками програмування, такими як спроба отримати доступ до індексу поза межами масиву або спроба поділити на нуль.
Неперевірені винятки включають усі підкласи класу RuntimeException, а також клас Error та його підкласи.
Ось кілька прикладів неперевірених винятків у Java:
1. ArrayIndexOutOfBoundsException: Цей виняток виникає, коли ви намагаєтеся отримати доступ до індексу масиву, який знаходиться поза межами.
2. Виняток NullPointer: Цей виняток виникає, коли ви намагаєтесь отримати доступ до посилання на нульовий об’єкт.
3. ArithmeticException: Цей виняток виникає, коли ви намагаєтеся поділити на нуль або виконуєте недійсну арифметичну операцію.