Catch<TException> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит действия, которые выполняются после вызова исключения в соответствующем блоке Try действия Finally.
generic <typename TException>
where TException : Exceptionpublic ref class Catch sealed : System::Activities::Statements::Catch
[System.Windows.Markup.ContentProperty("Action")]
public sealed class Catch<TException> : System.Activities.Statements.Catch where TException : Exception
[<System.Windows.Markup.ContentProperty("Action")>]
type Catch<'Exception (requires 'Exception :> Exception)> = class
inherit Catch
Public NotInheritable Class Catch(Of TException)
Inherits Catch
Параметры типа
- TException
Тип исключения, обрабатываемого блоком Catch<TException>.
- Наследование
- Атрибуты
Примеры
В следующем образце кода показано создание действия Catch<TException>. Этот пример из примера "Обработка ошибок в действии блок-схемы с помощью TryCatch ".
FlowStep mwkStep = new FlowStep
{
Action = new TryCatch
{
DisplayName = "Try/Catch for Divide By Zero Exception",
Try = new Assign
{
DisplayName = "discount = 15 + (1 - 1/numberOfKids)*10",
To = new OutArgument<double>(discount),
Value = new InArgument<double>((ctx) => (15 + (1 - 1 / numberOfKids.Get(ctx)) * 10))
},
Catches =
{
new Catch<System.DivideByZeroException>
{
Action = new ActivityAction<System.DivideByZeroException>
{
Argument = ex,
DisplayName = "ActivityAction - DivideByZeroException",
Handler =
new Sequence
{
DisplayName = "Divide by Zero Exception Workflow",
Activities =
{
new WriteLine()
{
DisplayName = "WriteLine: DivideByZeroException",
Text = "DivideByZeroException: Promo code is MWK - but number of kids = 0"
},
new Assign<double>
{
DisplayName = "Exception - discount = 0",
To = discount,
Value = new InArgument<double>(0)
}
}
}
}
}
}
},
Next = flowDecision
};
Комментарии
После размещения в конструкторе Catch действия нельзя изменить порядок в конструкторе. Чтобы изменить порядок коллекции Catch действий, удалите и повторно добавьте их в правильном порядке или используйте представление xaml (код) для рабочего процесса.
Конструкторы
Catch<TException>() |
Создает новый экземпляр класса Catch<TException>. |
Свойства
Action |
Обработчик для перехваченного исключения. |
ExceptionType |
Тип исключения, обрабатываемого блоком Catch. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |