Оператор try

PascalABC.NET - це мова програмування Паскаль нового покоління, що включає класичний Паскаль, більшість можливостей мови Delphi, а також низку власних розширень. Він реалізований на платформі Microsoft.NET і містить усі сучасні мовні засоби: класи, перевантаження операцій, інтерфейси, обробку винятків, узагальнені класи та підпрограми, складання сміття, лямбда-вираження, засоби паралельного програмування.
PascalABC.NET є мультипарадигменною мовою: нею можна програмувати в структурному, об'єктно-орієнтованому та функціональному стилях.
PascalABC.NET - це також просте і потужне інтегроване середовище розробки, що підтримує технологію IntelliSense, що містить засоби автоформатування, вбудований відладчик і вбудований дизайнер форм.
Опис мови PascalABC.NET
Оператор try. except
Оператор try. except
Операторtry.except має вигляд:
try
except
блок обробки винятків
end ;
Блокtry називаєтьсязахищеним блоком. Якщо під час виконання програми у ньому відбувається помилка, він завершується і виконання передається блокуexcept. Якщо виняток обробляється в блоціexcept, після його обробки програма продовжує виконуватися з оператора, наступного заtry.except.end. Якщо виняток залишається необробленим і є об'ємний блокtry, виконання передається його блокуexcept. Якщо об'ємного блокуtry немає, то програма завершується з помилкою. Нарешті, якщо у блоціtry помилки не відбулося, то блокexcept ігнорується і виконання програми продовжується далі.
Якщо в процесі обробки виняток (ублоціexcept ) стався інший виняток, то поточний блокexcept завершується, перший виняток вважається необробленим і обробка нового виключення передається об'ємному блокуtry. Таким чином, у кожний момент часу існує максимум один необроблений виняток.
Блок обробки винятківявляє собою або послідовність операторів, розділених точкою з комою, або послідовність обробників винятків виду
onім'я:типdoоператор
Обробники розділяються символом ';', після останнього оброблювача також може бути символ ';'. Туттип- тип виключення (має бути похідним від стандартного типу Exception),ім'я- ім'я змінної виключення (ім'я з наступним двокрапкою може бути опущене). У першому випадку при обробці виключення виконуються всі оператори з блокуexcept. У другому випадку серед обробників здійснюється пошук типу поточного виключення (обробники перебираються послідовно від першого до останнього), і якщо обробник знайдений, виконується відповідний оператор обробки виключення, в іншому випадку виняток вважається необробленим і передається об'ємному блокуtry. В останньому випадку після всіх обробниківon може йти гілкаelse, яка обов'язково обробить виняток, якщо жоден з обробників не виконався.
Слід звернути увагу, що ім'я змінної винятку у різних оброблювачів то, можливо однаковим, тобто. воно локально по відношенню до оброблювача.