<!--
{
  "documentType" : "article",
  "framework" : "Xcode",
  "identifier" : "/documentation/Xcode/understanding-the-exception-types-in-a-crash-report",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Understanding the exception types in a crash report"
}
-->

# Understanding the exception types in a crash report

Learn what the exception type tells you about why your app crashed.

## Overview

The exception type in a crash report describes how the app terminated. It’s a key
piece of information that guides how to investigate the source of the problem.

```other
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
```

Crash reports record language exception information separately,
including language exceptions thrown by an API
or language features in Objective-C or C++.

## Topics

### Exceptions

[EXC_ARITHMETIC](/documentation/Xcode/EXC_ARITHMETIC)

An arithmetic problem terminated the process,
often because of division by zero or a floating-point error.

[EXC_BAD_ACCESS](/documentation/Xcode/EXC_BAD_ACCESS)

A bad access to memory terminated the process.

[EXC_BAD_ACCESS (SIGBUS)](/documentation/Xcode/SIGBUS)

A bus error terminated the process,
often because the process tried to
access a misaligned or invalid address in memory,
or due to a pointer authentication failure.

[EXC_BAD_ACCESS (SIGSEGV)](/documentation/Xcode/SIGSEGV)

A memory segmentation fault terminated the process,
often because the process tried to
access an invalid or out-of-bounds address in memory.

[EXC_BREAKPOINT (SIGTRAP) and EXC_BAD_INSTRUCTION (SIGILL)](/documentation/Xcode/SIGTRAP_SIGILL)

A trace trap or invalid CPU instruction interrupted the process,
often because the process violated a requirement or timeout.

[EXC_CRASH](/documentation/Xcode/EXC_CRASH)

The process crashed.

[EXC_CRASH (SIGABRT)](/documentation/Xcode/SIGABRT)

The process terminated because it received an abort signal.

[EXC_CRASH (SIGKILL)](/documentation/Xcode/SIGKILL)

The operating system terminated the process,
often because a background task violated a requirement,
device resources were limited,
or the user force quit the app.

[EXC_CRASH (SIGQUIT)](/documentation/Xcode/SIGQUIT)

Another processes terminated the process,
often because the process violated a requirement or timeout.

[EXC_CRASH (SIGSYS)](/documentation/Xcode/SIGSYS)

A bad argument to a system call terminated the process.

[EXC_CRASH (SIGTERM)](/documentation/Xcode/SIGTERM)

A software termination signal terminated the process.

[EXC_GUARD](/documentation/Xcode/EXC_GUARD)

The process violated a guarded resource protection, often related to file descriptors.

[EXC_RESOURCE](/documentation/Xcode/EXC_RESOURCE)

The operating system stopped the process
because the process exceeded a limit on resource consumption,
like CPU time or memory.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)