diff --git a/src/HotChocolate/Core/src/Abstractions/Error.cs b/src/HotChocolate/Core/src/Abstractions/Error.cs
index a42e81955c4..f1d2086627d 100644
--- a/src/HotChocolate/Core/src/Abstractions/Error.cs
+++ b/src/HotChocolate/Core/src/Abstractions/Error.cs
@@ -84,70 +84,45 @@ public IError WithMessage(string message)
///
public IError WithCode(string? code)
{
+ IReadOnlyDictionary? extensions;
+
if (string.IsNullOrEmpty(code))
{
- return RemoveCode();
+ extensions = Extensions;
+
+ if (Extensions?.ContainsKey(_code) == true)
+ {
+ var temp = new OrderedDictionary(Extensions);
+ temp.Remove(_code);
+ extensions = temp;
+ }
+
+ return new Error(Message, null, Path, Locations, extensions, Exception);
}
- var extensions = Extensions is null
+ extensions = Extensions is null
? new OrderedDictionary { [_code] = code, }
: new OrderedDictionary(Extensions) { [_code] = code, };
return new Error(Message, code, Path, Locations, extensions, Exception);
}
///
- public IError RemoveCode()
- {
- var extensions = Extensions;
-
- if (Extensions is { })
- {
- var temp = new OrderedDictionary(Extensions);
- temp.Remove(_code);
- extensions = temp;
- }
-
- return new Error(Message, null, Path, Locations, extensions, Exception);
- }
-
- ///
- public IError WithPath(Path? path)
- => path is null
- ? RemovePath()
- : new Error(Message, Code, path, Locations, Extensions, Exception);
-
- ///
- public IError WithPath(IReadOnlyList