void ExecuteOperation(Operation operation)
{
try {
check_inferior ();
InterruptibleOperation iop = operation as InterruptibleOperation;
if ((iop != null) && iop.IsSuspended) {
iop.IsSuspended = false;
do_continue ();
return;
} else {
operation.Execute ();
}
} catch (Exception ex) {
Report.Debug (DebugFlags.SSE, "{0} caught exception while " +
"processing operation {1}: {2}", this, operation, ex);
operation.Result.Result = ex;
OperationCompleted (null);
}
}