-
Notifications
You must be signed in to change notification settings - Fork 253
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1756 from microsoftgraph/dev
Release 5.3.0
- Loading branch information
Showing
180 changed files
with
6,431 additions
and
303 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,7 @@ jobs: | |
env: | ||
solutionName: Microsoft.Graph.sln | ||
steps: | ||
- uses: actions/checkout@v3.3.0 | ||
- uses: actions/checkout@v3.4.0 | ||
- name: Setup .NET | ||
uses: actions/[email protected] | ||
with: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,44 @@ | ||
Handling errors in the Microsoft Graph .NET Client Library | ||
===== | ||
|
||
Errors in the Microsoft Graph .NET Client Library behave like errors returned from the Microsoft Graph service. You can read more about them [here](https://graph.microsoft.io/en-us/docs/overview/errors). | ||
Errors in the Microsoft Graph .NET Client Library behave like errors returned from the Microsoft Graph service. You can read more about them [here](https://learn.microsoft.com/en-us/graph/errors). | ||
|
||
Anytime you make a request against the service there is the potential for an error. In the case of an error, the request will throw a `ServiceException` object with an inner `Error` object that contains the service error details. | ||
Anytime you make a request against the service there is the potential for an error. In the case of an error, the request will throw a `ODataError` exception that contains the service error details and can be handled as below. | ||
|
||
## Checking the error | ||
```cs | ||
try | ||
{ | ||
await graphServiceClient.Me.PatchAsync(user); | ||
} | ||
catch (ODataError odataError) | ||
{ | ||
Console.WriteLine(odataError.Error?.Code); | ||
Console.WriteLine(odataError.Error?.Message); | ||
throw; | ||
} | ||
``` | ||
|
||
|
||
## Checking the error status code | ||
|
||
There are a few different types of errors that can occur during a network call. These error codes are defined in [GraphErrorCode.cs](../src/Microsoft.Graph/Enums/GraphErrorCode.cs). | ||
You can check the status code that caused the error as below. | ||
|
||
```csharp | ||
catch (ODataError odataError) when (odataError.ResponseStatusCode.Equals(HttpStatusCode.NotFound)) | ||
{ | ||
// Handle 404 status code | ||
} | ||
``` | ||
|
||
## Checking the error | ||
|
||
### Checking the error code | ||
You can easily check if an error has a specific code by calling `IsMatch` on the error code value. `IsMatch` is not case sensitive: | ||
There are a few different types of errors that can occur during a network call. These most common error codes are defined in [GraphErrorCode.cs](../src/Microsoft.Graph/Enums/GraphErrorCode.cs). These can be checked by matching with the error code value as below. | ||
|
||
```csharp | ||
if (exception.IsMatch(GraphErrorCode.AccessDenied.ToString()) | ||
catch (ODataError odataError) when (odataError.Error.Code.Equals(GraphErrorCode.AccessDenied.ToString())) | ||
{ | ||
// Handle access denied error | ||
} | ||
``` | ||
|
||
Each error object has a `Message` property as well as code. This message is for debugging purposes and is not be meant to be displayed to the user. Common error codes are defined in [GraphErrorCode.cs](../src/Microsoft.Graph/Enums/GraphErrorCode.cs). | ||
Each error object has a `Message` property as well as code. This message is for debugging purposes and is not be meant to be displayed to the user. Common error codes are defined in [GraphErrorCode.cs](../src/Microsoft.Graph/Enums/GraphErrorCode.cs). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
// ------------------------------------------------------------------------------ | ||
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information. | ||
// ------------------------------------------------------------------------------ | ||
|
||
using Microsoft.Kiota.Abstractions.Serialization; | ||
using Microsoft.Kiota.Abstractions.Store; | ||
using System; | ||
using System.Collections.Generic; | ||
|
||
namespace Microsoft.Graph.Models; | ||
|
||
public class PlannerAssignment: IAdditionalDataHolder, IBackedModel, IParsable | ||
{ | ||
/// <summary>Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.</summary> | ||
public IDictionary<string, object> AdditionalData { | ||
get { return BackingStore?.Get<IDictionary<string, object>>("additionalData"); } | ||
set { BackingStore?.Set("additionalData", value); } | ||
} | ||
/// <summary>Stores model information.</summary> | ||
public IBackingStore BackingStore { get; private set; } | ||
/// <summary>The OdataType property</summary> | ||
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER | ||
#nullable enable | ||
public string? OdataType { | ||
get { return BackingStore?.Get<string?>("@odata.type"); } | ||
set { BackingStore?.Set("@odata.type", value); } | ||
} | ||
#nullable restore | ||
#else | ||
public string OdataType { | ||
get { return BackingStore?.Get<string>("@odata.type"); } | ||
set { BackingStore?.Set("@odata.type", value); } | ||
} | ||
#endif | ||
/// <summary>The OdataType property</summary> | ||
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER | ||
#nullable enable | ||
public string? OrderHint { | ||
get { return BackingStore?.Get<string?>("orderHint"); } | ||
set { BackingStore?.Set("orderHint", value); } | ||
} | ||
#nullable restore | ||
#else | ||
public string OrderHint { | ||
get { return BackingStore?.Get<string>("orderHint"); } | ||
set { BackingStore?.Set("orderHint", value); } | ||
} | ||
#endif | ||
/// <summary> | ||
/// Instantiates a new auditActivityInitiator and sets the default values. | ||
/// </summary> | ||
public PlannerAssignment() { | ||
BackingStore = BackingStoreFactorySingleton.Instance.CreateBackingStore(); | ||
AdditionalData = new Dictionary<string, object>(); | ||
OdataType = "#microsoft.graph.plannerAssignment"; | ||
OrderHint = "!"; | ||
} | ||
/// <summary> | ||
/// Creates a new instance of the appropriate class based on discriminator value | ||
/// </summary> | ||
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param> | ||
public static PlannerAssignment CreateFromDiscriminatorValue(IParseNode parseNode) { | ||
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode)); | ||
return new PlannerAssignment(); | ||
} | ||
/// <summary> | ||
/// The deserialization information for the current model | ||
/// </summary> | ||
public IDictionary<string, Action<IParseNode>> GetFieldDeserializers() { | ||
return new Dictionary<string, Action<IParseNode>> { | ||
{"@odata.type", n => { OdataType = n.GetStringValue(); } }, | ||
{"orderHint", n => { OrderHint = n.GetStringValue(); } }, | ||
}; | ||
} | ||
/// <summary> | ||
/// Serializes information the current object | ||
/// </summary> | ||
/// <param name="writer">Serialization writer to use to serialize this model</param> | ||
public void Serialize(ISerializationWriter writer) { | ||
_ = writer ?? throw new ArgumentNullException(nameof(writer)); | ||
writer.WriteStringValue("@odata.type", OdataType); | ||
writer.WriteStringValue("orderHint", OrderHint); | ||
writer.WriteAdditionalData(AdditionalData); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.