diff --git a/src/Topshelf/Configuration/HostConfigurators/HostConfiguratorImpl.cs b/src/Topshelf/Configuration/HostConfigurators/HostConfiguratorImpl.cs index 73d7fcc3..804ad1c0 100644 --- a/src/Topshelf/Configuration/HostConfigurators/HostConfiguratorImpl.cs +++ b/src/Topshelf/Configuration/HostConfigurators/HostConfiguratorImpl.cs @@ -206,7 +206,16 @@ public Host CreateHost() foreach (HostBuilderConfigurator configurator in _configurators) builder = configurator.Configure(builder); - return builder.Build(serviceBuilder); + try + { + return builder.Build(serviceBuilder); + } + //Intercept exceptions from serviceBuilder, TopShelf handling is in HostFactory + catch (Exception ex) + { + builder.Settings?.ExceptionCallback(ex); + throw; + } } void ApplyCommandLineOptions(IEnumerable