-
Notifications
You must be signed in to change notification settings - Fork 50
Include Exception Properties at FailureDetails #474
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
c8ff67f
3d4e485
8636a3d
c4321e4
e3a7f8a
e98024b
121a605
c34de93
c084057
d5f45fe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,8 @@ | |
/// <param name="ErrorMessage">A summary description of the failure.</param> | ||
/// <param name="StackTrace">The stack trace of the failure.</param> | ||
/// <param name="InnerFailure">The inner cause of the task failure.</param> | ||
public record TaskFailureDetails(string ErrorType, string ErrorMessage, string? StackTrace, TaskFailureDetails? InnerFailure) | ||
/// <param name="Properties">Additional properties associated with the exception.</param> | ||
public record TaskFailureDetails(string ErrorType, string ErrorMessage, string? StackTrace, TaskFailureDetails? InnerFailure, IDictionary<string, object?>? Properties) | ||
{ | ||
Type? loadedExceptionType; | ||
|
||
|
@@ -118,12 +119,13 @@ | |
/// <returns>A new <see cref="CoreFailureDetails"/> instance.</returns> | ||
internal CoreFailureDetails ToCoreFailureDetails() | ||
{ | ||
return new CoreFailureDetails( | ||
Check failure on line 122 in src/Abstractions/TaskFailureDetails.cs
|
||
this.ErrorType, | ||
this.ErrorMessage, | ||
this.StackTrace, | ||
this.InnerFailure?.ToCoreFailureDetails(), | ||
isNonRetriable: false); | ||
isNonRetriable: false, | ||
this.Properties); | ||
} | ||
|
||
/// <summary> | ||
|
@@ -143,7 +145,8 @@ | |
coreFailureDetails.ErrorType, | ||
coreFailureDetails.ErrorMessage, | ||
coreFailureDetails.StackTrace, | ||
FromCoreFailureDetails(coreFailureDetails.InnerFailure)); | ||
FromCoreFailureDetails(coreFailureDetails.InnerFailure), | ||
coreFailureDetails.Properties); | ||
Check failure on line 149 in src/Abstractions/TaskFailureDetails.cs
|
||
} | ||
|
||
[return: NotNullIfNotNull(nameof(exception))] | ||
|
@@ -160,14 +163,16 @@ | |
coreEx.FailureDetails?.ErrorType ?? "(unknown)", | ||
coreEx.FailureDetails?.ErrorMessage ?? "(unknown)", | ||
coreEx.FailureDetails?.StackTrace, | ||
FromCoreFailureDetailsRecursive(coreEx.FailureDetails?.InnerFailure) ?? FromExceptionRecursive(coreEx.InnerException)); | ||
FromCoreFailureDetailsRecursive(coreEx.FailureDetails?.InnerFailure) ?? FromExceptionRecursive(coreEx.InnerException), | ||
coreEx.FailureDetails?.Properties ?? null); | ||
Check failure on line 167 in src/Abstractions/TaskFailureDetails.cs
|
||
} | ||
|
||
return new TaskFailureDetails( | ||
exception.GetType().ToString(), | ||
exception.Message, | ||
exception.StackTrace, | ||
FromExceptionRecursive(exception.InnerException)); | ||
FromExceptionRecursive(exception.InnerException), | ||
null);// might need to udpate this later | ||
Check warning on line 175 in src/Abstractions/TaskFailureDetails.cs
|
||
|
||
} | ||
|
||
static TaskFailureDetails? FromCoreFailureDetailsRecursive(CoreFailureDetails? coreFailureDetails) | ||
|
@@ -181,6 +186,7 @@ | |
coreFailureDetails.ErrorType, | ||
coreFailureDetails.ErrorMessage, | ||
coreFailureDetails.StackTrace, | ||
FromCoreFailureDetailsRecursive(coreFailureDetails.InnerFailure)); | ||
FromCoreFailureDetailsRecursive(coreFailureDetails.InnerFailure), | ||
coreFailureDetails.Properties); | ||
Check failure on line 190 in src/Abstractions/TaskFailureDetails.cs
|
||
} | ||
} |
Uh oh!
There was an error while loading. Please reload this page.