pl2 operator error - palexisru/pl2_rus GitHub Wiki
Операторы обработки ошибок
Последовательность операторов, содержащих обработку ошибок, заключается в единую транзакцию
transaction{
finalize
{
}
проверка на ошибку конкретного пользовательского класса
catch (System.Error error_object)
{
}
получение системной ошибки
catch (int32 error_value)
{
}
{
throw new error_object(); // выполнить catch указанного класса и finalize
revoke // отменить все изменения состояния программы, очистить очередь исходящих сигналов и выполнить код finalize
}
}
Объект ошибки является наследником системного класс ошибки
в переменную error_value типа int32 помещается код ошибки
коды 0-32767 содержат информацию о системной ошибке
коды более 65536 позволяют извлечь или сбросить объект ошибки в системном буфере ошибок задачи
если класс объекта ошибки наследуется от класса, описанного в каком-либо разделе catch, то происходит переход на обработчик ошибок, размещенных в соответствующем разделе