Skip to main content

Изключения - Управление на Грешки

Изключения в 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.
  • Подходящата обработка на изключенията помага за писането на надеждни и устойчиви програми.
  • Създаването на потребителски изключения осигурява възможност за по-специфична обработка на грешки.