Skip to main content

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

Изключенията в C# са ключов механизъм за справяне с грешки и извънредни ситуации по време на изпълнението на програмата.

Типове Изключения

  • System.Exception: Базов клас за всички изключения в .NET.
  • System.SystemException: Базов клас за системни изключения.
  • System.RuntimeException: Базов клас за грешки, възникващи по време на изпълнението.

Класова Йерархия на Изключения

Object
└── Exception
├── SystemException
│ ├── IndexOutOfRangeException
│ ├── NullReferenceException
│ └── OverflowException
└── ApplicationException

Обработка на Изключения

Използването на try, catch, и finally блокове позволява управление на обработката на изключенията.

Пример с try-catch-finally

try {
// Код, който може да предизвика изключение
} catch (SpecificExceptionType e) {
// Обработка на конкретно изключение
} finally {
// Код, който се изпълнява винаги след `try` блока
}

Хвърляне на Изключения

Можете да хвърлите изключение с throw.

####Пример за throw

public void PerformAction(string action) {
if (action == null) {
throw new ArgumentNullException("action", "Действието не може да бъде null.");
}
// Оставащият код
}

Създаване на Потребителски Изключения

Потребителските изключения се създават чрез наследяване на клас Exception.

Пример за Потребителско Изключение

public class CustomException : Exception {
public CustomException(string message) : base(message) {
}
}

Обобщение

  • Изключенията в C# осигуряват мощен механизъм за контрол на грешките и изключителните ситуации.
  • Правилната обработка на изключенията е ключова за създаването на надеждни и устойчиви програми.
  • Създаването на потребителски изключения улеснява специфичното управление на грешките във вашите приложения.