public void TestTaskUnhandled() { var taskCompletion = new TaskCompletionSource <bool>(); UnobservedType observedType = UnobservedType.AppDomain; var handlers = new UnobservedHandlers((object sender, Exception exception, bool isTerminating, UnobservedType sourceType) => { observedType = sourceType; taskCompletion.SetResult(true); return(true); }); Task.Factory.StartNew(() => { Task.Delay(100).GetAwaiter().GetResult(); handlers.TestTaskUnhandled(this); }); var completedTask = Task.WhenAny(taskCompletion.Task, Task.Delay(5000)).GetAwaiter().GetResult(); Assert.IsTrue(completedTask.Id == taskCompletion.Task.Id, "The task id was not expected"); Assert.IsTrue(observedType == UnobservedType.TaskScheduler, "Triggered type was not expected"); }
/// <inheritdoc /> protected override bool UnhandledExceptionRaised(object sender, Exception exception, bool isTerminating, UnobservedType sourceType) { Logger.LogError(exception, "An unhandled exception of type {exceptionType} was caught in legacy even processor instance with StatefulSet index {statefulSetIndexCount} with a terminating value of {isTerminating}", sourceType, KubernetesStatefulSetIndex, isTerminating); return(false); }