# ValidateNonDefaultHandle(in AtomicSafetyHandle)

> Checks that the handle has been initialized, and if so, checks that it is still valid.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Collections.LowLevel.Unsafe](/engine/6000.3/script-reference/unity/collections/lowlevel/unsafe.md)
* **Assembly:** UnityEngine.CoreModule

## ValidateNonDefaultHandle(AtomicSafetyHandle)

```csharp
[Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]
public static void ValidateNonDefaultHandle(in AtomicSafetyHandle handle)
```

### Parameters

**** (\[AtomicSafetyHandle]\(/engine/6000.3/script-reference/unity/collections/lowlevel/unsafe/atomicsafetyhandle)): The AtomicSafetyHandle to check.

### Remarks

This is almost identical to [AtomicSafetyHandle.IsValidNonDefaultHandle](/engine/6000.3/script-reference/unity/collections/lowlevel/unsafe/atomicsafetyhandle/isvalidnondefaulthandle.md), except that if the AtomicSafetyHandle has been initialized but isn't valid, then an `ObjectDisposedException` is thrown instead of returning `false`.

If the handle hasn't been initialized, then this method does nothing. Use [AtomicSafetyHandle.IsDefaultValue](/engine/6000.3/script-reference/unity/collections/lowlevel/unsafe/atomicsafetyhandle/isdefaultvalue.md) to check whether a handle is uninitialized.
