# ErrorCode

> An enumeration that defines the specific types of errors that can occur during Package Manager operations.

## Definition

* **Type:** Enum
* **Namespace:** [UnityEditor.PackageManager](/engine/6000.6/script-reference/unityeditor/packagemanager.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public enum ErrorCode
```

## Remarks

**Notes:**

* Use `ErrorCode` in conjunction with [Error.message](/engine/6000.6/script-reference/unityeditor/packagemanager/error/message.md) for detailed error information.
* Different operations can produce different error codes.

```csharp
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;

[ExecuteInEditMode]
public class ErrorCodeExample : MonoBehaviour
{
    AddRequest m_AddRequest;

    void Start()
    {
        Debug.Log("Testing ErrorCode...");
        m_AddRequest = Client.Add("com.nonexistent.package");
    }
    void Update()
    {
        if (m_AddRequest != null && m_AddRequest.IsCompleted)
        {
            if (m_AddRequest.Status == StatusCode.Failure)
            {
                HandleError(m_AddRequest.Error);
            }
            m_AddRequest = null;
        }
    }

    void HandleError(Error error)
    {
        string userMessage = null;
        switch(error.errorCode)
        {
            case ErrorCode.NotFound:
                userMessage = $"Package not found: {error.message}";
                break;
            case ErrorCode.Conflict:
                userMessage = $"Package conflict detected: {error.message}";
                break;
            case ErrorCode.Forbidden:
                userMessage = $"Operation not permitted: {error.message}";
                break;
            case ErrorCode.Unknown:
                userMessage = $"Unknown error: {error.message}";
                break;
            case ErrorCode.InvalidParameter:
                userMessage = $"Invalid parameter: {error.message}";
                break;
            case ErrorCode.AggregateError:
                userMessage = $"One or multiple errors occurred: {error.message}";
                break;
			case ErrorCode.ConnectionError:
				userMessage = $"Network error occurred. Please check your internet connection or proxy settings.";
				break;
            default:
                userMessage = $"Unexpected error: {error.message}";
                break;
        };

        Debug.LogError(userMessage);
    }
}
```

**Related information**

* [Error](/engine/6000.6/script-reference/unityeditor/packagemanager/error.md)
* [Client](/engine/6000.6/script-reference/unityeditor/packagemanager/client.md)
* [StatusCode](/engine/6000.6/script-reference/unityeditor/packagemanager/statuscode.md)
* [Request](/engine/6000.6/script-reference/unityeditor/packagemanager/requests/request.md)

## Fields

| Value                                                                                                        | Description                                                |
| ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------- |
| [AggregateError](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/aggregateerror.md)     | One or more errors occurred during the operation.          |
| [Conflict](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/conflict.md)                 | Conflicting package versions were found.                   |
| [ConnectionError](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/connectionerror.md)   | Network error occurred during the operation.               |
| [Forbidden](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/forbidden.md)               | Operation was not allowed.                                 |
| [InvalidParameter](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/invalidparameter.md) | Operation had invalid parameters.                          |
| [NotFound](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/notfound.md)                 | A package required to fulfill the operation was not found. |
| [Unknown](/engine/6000.6/script-reference/unityeditor/packagemanager/errorcode/unknown.md)                   | Operation resulted in an unknown error.                    |
