Изключения - Управление на Грешки
- Теория
- Код
Изключения в Java (Exceptions) 🛠️
Изключенията в Java са механизъм за справяне с грешки и други извънредни ситуации, които се появяват по време на изпълнението на програмата.
Типове Изключения
- Проверени (Checked Exceptions): Те трябва явно да се укажат в
throws
клозата на метода или да се обработят вtry-catch
блок. - Непроверени (Unchecked Exceptions): Възникват по време на изпълнението на програмата и често са резултат от лоша програмна логика (например, делене на нула).
Класова Йерархия на Изключения
Object
└── Throwable
├── Error
└── Exception
├── IOException
├── SQLException
└── RuntimeException
├── NullPointerException
├── IndexOutOfBoundsException
└── ArithmeticException
Обработка на Изключения
Използването на try
, catch
, и finally
блокове позволява фин контрол над обработката на изключения.
Пример с try-catch-finally
try {
// Код, който може да генерира изключение
} catch (SpecificExceptionType e) {
// Обработка на конкретно изключение
} finally {
// Код, който се изпълнява винаги след `try` блока, независимо дали изключение е настъпило
}
Хвърляне на Изключения
Можете да "хвърлите" изключение, използвайки ключовата дума throw
.
Пример за throw
public void performAction(String action) throws CustomException {
if (action == null) {
throw new CustomException("Действието не може да бъде null.");
}
// Оставащият код
}
Създаване на Потребителски Изключения
Потребителските изключения се създават чрез наследяване на клас Exception
.
Пример за Потребителско Изключение
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
Обобщение
- Изключенията предоставят елегантен механизъм за обработка на грешки в Java.
- Подходящата обработка на изключенията помага за писането на надеждни и устойчиви програми.
- Създаването на потребителски изключения осигурява възможност за по-специфична обработка на грешки.
ИЗКЛЮЧЕНИЯ
В Java изключенията се използват за обработка на грешки и други извънредни ситуации. Изключенията предоставят механизъм за прехвърляне на контрола от една част на програмата към друга.
Основни видове изключения:
-
Проверени изключения (Checked Exceptions): Това са грешки, които се случват при външни обстоятелства, независещи от програмата (например, липсващ файл). Те се проверяват по време на компилация.
-
Непроверени изключения (Unchecked Exceptions): Това са грешки, които се дължат на грешки в кода (например, достъп до празен масив). Те не се проверяват по време на компилация.
Пример за хващане на изключение:
try {
int[] мойМасив = {1, 2, 3};
System.out.println(мойМасив[5]); // това ще предизвика ArrayIndexOutOfBoundsException
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Грешка: Извън границите на масива!");
}