---
title: CrashDiagnostic.TerminationCategory
framework: metrickit
role: symbol
role_heading: Structure
path: metrickit/crashdiagnostic/terminationcategory-swift.struct
---

# CrashDiagnostic.TerminationCategory

A value that describes the category of termination that caused a crash.

## Declaration

```swift
struct TerminationCategory
```

## Discussion

Discussion Use TerminationCategory to correlate individual crash diagnostics with the aggregate termination counts reported by ForegroundTerminationMetric and BackgroundTerminationMetric. Each category corresponds to a specific count property on one or both of those metric types.

## Topics

### Termination categories

- [badAccess](metrickit/crashdiagnostic/terminationcategory-swift.struct/badaccess.md)
- [abnormal](metrickit/crashdiagnostic/terminationcategory-swift.struct/abnormal.md)
- [illegalInstruction](metrickit/crashdiagnostic/terminationcategory-swift.struct/illegalinstruction.md)
- [watchdog](metrickit/crashdiagnostic/terminationcategory-swift.struct/watchdog.md)
- [taskTimeout](metrickit/crashdiagnostic/terminationcategory-swift.struct/tasktimeout.md)
- [fileLock](metrickit/crashdiagnostic/terminationcategory-swift.struct/filelock.md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
