Add ExceptionExtensions...

This commit is contained in:
jozsef.b@aycode.com 2024-05-19 07:48:43 +02:00
parent 56f1eb75f9
commit d6356451ac
2 changed files with 26 additions and 4 deletions

View File

@ -10,10 +10,6 @@
<ProjectReference Include="..\AyCode.Utils\AyCode.Utils.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Extensions\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />

View File

@ -0,0 +1,26 @@
using AyCode.Utils.Extensions;
namespace AyCode.Core.Extensions;
public static class ExceptionExtensions
{
public static void GetCategoryAndMemberNameFromStackTraceString(this Exception? exception, out string? memberName, out string? categoryName)
{
categoryName = null;
memberName = null;
if (exception == null) return;
var stackTraceString = exception.StackTrace ?? exception.InnerException?.StackTrace;
if (stackTraceString.IsNullOrWhiteSpace()) return;
var stackSplit = stackTraceString.Split(" in ");
if (stackSplit.Length <= 0) return;
stackSplit = stackSplit[0].Split('.');
if (stackSplit.Length <= 1) return;
memberName = stackSplit[^1]; //new StackTrace(exception).GetFrame(0)?.GetMethod()?.Name;
categoryName = stackSplit[^2]; //exception.Source
}
}