// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Threading;
using System.Threading.Tasks;
namespace System.Web.Http.ExceptionHandling
{
///
/// Represents an exception handler that leaves exceptions unhandled (allowing them to propagate).
///
///
/// This class represents the behavior of having no IExceptionHandler service, such as when the registered service
/// is removed (Null Object pattern).
///
internal class EmptyExceptionHandler : IExceptionHandler
{
public Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken)
{
// For exceptions at the top of the call stack, Result will start out non-null (due to
// LastChanceExceptionHandler). This class does not force exceptions back to unhandled in such cases, so it
// will not not trigger the host-level exception processing, such as the ASP.NET yellow screen.
return TaskHelpers.Completed();
}
}
}