using System.Threading.Tasks;
public static void Main()
Task myTask = Task.Run( () => PrimaryTask() );
myTask.ContinueWith( (prevTask) => SecondaryTask(), TaskContinuationOptions.OnlyOnRanToCompletion);
myTask.ContinueWith( (prevTask) => ExceptionTask(), TaskContinuationOptions.OnlyOnFaulted);
Console.WriteLine("Finished Processing Task.");
public static void PrimaryTask(){
Console.WriteLine("Primary Task");
public static void SecondaryTask(){
Console.WriteLine("Secondary Task");
public static void ExceptionTask(){
Console.WriteLine("Exception Task");