070-504 Free Dumps Study Materials
Question 6: You are writing a sequential console workflow that consists of a delay activity and a code activity, as
shown in the exhibit. (Click the Exhibit button for the sequential console workflow image)
In the execution code of the second activity, you try to modify the workflow as follows:
private void codeActivity_ExecuteCode(object sender, EventArgs e)
{
CodeActivity delay = sender as CodeActivity;
Console.WriteLine(delay.Name);
WorkflowChanges workflowChanges = new WorkflowChanges(this);
CodeActivity codeActivity = new CodeActivity();
codeActivity.Name = "codeActivity2";
codeActivity.ExecuteCode += new EventHandler(codeActivity2_ExecuteCode);
workflowChanges.TransientWorkflow.Activities.Add(codeActivity);
this.ApplyWorkflowChanges(workflowChanges);
}
private void codeActivity2_ExecuteCode(object sender, EventArgs e)
{
CodeActivity codeActivity = sender as CodeActivity;
Console.WriteLine(codeActivity.Name);
Console.ReadLine();
}
You also have set the modifiability of the workflow to a code condition that is set to the following function:
private void UpdateCondition(object sender, ConditionalEventArgs e)
{
if (TimeSpan.Compare(this.delayActivity.TimeoutDuration, new TimeSpan(0, 0, 5)) > 0) {
e.Result = false;
}
else {
e.Result = true;
}
}
Which code segment should you use to handle the exception?
A. workflowChanges.TransientWorkflow.Activities.Add(codeActivity);
try {
this.ApplyWorkflowChanges(workflowChanges);
}
catch (ArgumentOutOfRangeException ex) {
Console.WriteLine(ex.GetType().ToString());
Console.ReadLine();
}
B. workflowChanges.TransientWorkflow.Activities.Add(codeActivity);
try {
this.ApplyWorkflowChanges(workflowChanges);
}
catch (InvalidProgramException ex) {
Console.WriteLine(ex.GetType().ToString());
Console.ReadLine();
}
C. workflowChanges.TransientWorkflow.Activities.Add(codeActivity);
try {
this.ApplyWorkflowChanges(workflowChanges);
}
catch (InvalidOperationException ex) {
Console.WriteLine(ex.GetType().ToString());
Console.ReadLine();
}
D. workflowChanges.TransientWorkflow.Activities.Add(codeActivity);
try {
this.ApplyWorkflowChanges(workflowChanges);
}
catch (OverflowException ex) {
Console.WriteLine(ex.GetType().ToString());
Console.ReadLine();
}
Correct Answer: C