Skip to content

Commit 3756eca

Browse files
committed
fix: OnExceptionCreate as multicast delegate
1 parent 56b4a2d commit 3756eca

3 files changed

Lines changed: 10 additions & 7 deletions

File tree

Sstv.DomainExceptions.Extensions.DependencyInjection/InitHostedService.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ internal sealed class InitHostedService : BackgroundService
1515
/// <param name="configure">User provided configure action.</param>
1616
public InitHostedService(IServiceProvider sp, Action<IServiceProvider, DomainExceptionSettings>? configure)
1717
{
18-
var instance = DomainExceptionSettings.Instance;
19-
configure?.Invoke(sp, instance);
18+
configure?.Invoke(sp, DomainExceptionSettings.Instance);
2019

21-
if (instance.CollectErrorCodesMetricAutomatically)
20+
if (DomainExceptionSettings.Instance.CollectErrorCodesMetricAutomatically)
2221
{
23-
instance.OnExceptionCreated = ErrorCodesMeter.Measure;
22+
DomainExceptionSettings.Instance.OnExceptionCreated += ErrorCodesMeter.Measure;
2423
}
2524

2625
DomainExceptionSettings.ErrorDescriptionSourceGetter =

Sstv.DomainExceptions/DomainException.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,12 @@ protected DomainException(
7373
}
7474
}
7575

76-
var instance = DomainExceptionSettings.Instance;
77-
if (instance.GenerateExceptionIdAutomatically)
76+
if (DomainExceptionSettings.Instance.GenerateExceptionIdAutomatically)
7877
{
7978
WithErrorId();
8079
}
8180

82-
instance.OnExceptionCreated?.Invoke(this);
81+
DomainExceptionSettings.Instance.OnExceptionCreated?.Invoke(this);
8382
}
8483

8584
/// <summary>

Sstv.Host/Program.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@
3939
settings.ErrorCodesDescriptionSource = null; // manually set your own error description source instance
4040
settings.DefaultErrorDescriptionProvider = // override default error description func
4141
errorCode => new ErrorDescription(errorCode, "N/A"); // default func
42+
43+
settings.OnExceptionCreated += exception =>
44+
{
45+
Console.WriteLine(exception.ToString());
46+
};
4247
};
4348
});
4449

0 commit comments

Comments
 (0)