How should I handle exceptions within a controller constructor in WebAPI?
===

Say I have a constructor where it's initialization can potentially throw an exception due to reasons beyond my control. 


    FantasticApiController(IAwesomeGenerator awesome,
        IBusinessRepository repository, IIceCreamFactory factory)
    {
           Awesome = awesome;
           Repository = repository;
           IceCream = factory.MakeIceCream();

           DoSomeInitialization(); // this can throw an exception
    }

Ordinarily, when a Controller action in WebAPI throws an exception I can handle it via  a csutom `ExceptionFilterAttribute`:


    public class CustomErrorHandler
    {
        public override void OnException(HttpActionExecutedContext context)
        {
            // Critical error, this is real bad.
            if (context.Exception is BubonicPlagueException)
            {
                Log.Error(context.Exception, "CLOSE EVERYTHING!");
                Madagascar.ShutdownAllPorts();
            }
            
            // No big deal, just show something user friendly
            throw new HttpResponseException(new HttpResponseMessage
            {
                Content = new StringContent("Hey something bad happened. " +
                                            "Not closing the ports though"),
                StatusCode = HttpStatusCode.InternalServerError;
            });
        }


So if I have a have a `BoardPlane` API method which throws a `BubonicPlagueException`, then my `CustomerErrorHandler` will shut down the ports to Madagascar and log it as an error as expected. In other instances when it's not really serious, I just display some user friendly message and return a 500 `InternalServerError`.

But in those cases where `DoSomeInitialization` throws an exception, this does absolutely nothing. **How can I handle exceptions in WebAPI controller constructors?**