Исключение | Exception

Обработка исключений - механизм, предназначенный для описания реакции программы на ошибки во время выполнения программыю.

Используется оператор try и catch . Возможно использование нескольких операторов catch , при возникновении исключения программа попадет в тот блок catch , тип аргумента которого совпадает с типом генерируемого исключения. В случае если исключение не возникло, все блоки catch игнорируются. Также существует блок finally , который будет вызван независимо от того, было ли сгененировано исключение.

Также интересный момент:

при наследовании исключений, блоки catch следует располагать от самого производного от всех до базового.

class ExceptionA : Exception {}
class ExceptionB : ExceptionA {}

Пример:

try (something)
{
    // some code //
}
catch (Exception e) // 1
{
}
catch (ExceptionA e) // 2
{
}
catch (ExceptionB e) // 3
{
}

Так как и ExceptionA и ExceptionB могут быть приведены к типу Exception , при расположении блоков catch таким образом как в примере выше, при возникновении исключения типа ExceptionA или ExceptionB, программа не выполнит блоки 2 и 3 соответственно, а попадет в блок 1.

results for ""

    No results matching ""