Error & crash tracking
Nohmo captures errors and crashes automatically — in the web, Next.js and React Native SDKs it's on by default, no setup required. Because every error is just an event, it carries the same session and device context as everything else: the Errors page groups errors by signature and shows the exact journey leading up to each crash — the pages, screens, clicks and taps right before it broke.
What's captured
| Event | Platform | Trigger |
|---|---|---|
| JS_ERROR | Web + RN | Uncaught exceptions and unhandled promise rejections |
| HTTP_ERROR | Web | Failed fetch/XHR requests (4xx/5xx) and resource 404s |
| APP_CRASH | React Native | Fatal JS crashes and native crashes — reported on next launch |
| SERVER_ERROR | Python + Node | Unhandled backend exceptions, plus anything you report by hand |
Native crashes (React Native)
The JS error handler can't see crashes that happen in native code. Nohmo installs native crash handlers too — no extra packages, it's built into the SDK. A crashing process can't do network I/O, so the crash is written to disk and reported as an APP_CRASH on the next launch, attributed back to the session it happened in.
| Platform | Catches |
|---|---|
| Android | Uncaught Java/Kotlin exceptions (any thread) |
| iOS | Objective-C exceptions, plus Swift fatalError, force-unwraps, and memory crashes (signal handlers) |
Configuration
Error capture is enabled by default. To turn it off, set autoErrors: false:
// React / Next.js / React Native<NohmoProvider projectId="..." apiKey="..." options={{ autoErrors: false }}><YourApp /></NohmoProvider>
For the plain HTML / script-tag build, add data-errors="false":
<scriptsrc="https://cdn.jsdelivr.net/npm/nohmo@latest/dist/n.min.js"data-project="proj_xxxx"data-api-key="pk_xxxx"data-errors="false"defer></script>
Where it shows up
Errors page
Errors are grouped by signature with occurrence counts, affected users and devices, and a sample stack trace. Open one to see every occurrence.
Journey to the crash
Each occurrence shows the session timeline up to the moment it broke — what the user did right before the error, so you can reproduce it.
Real-time alerts
Add an Event Match webhook (Settings → Webhooks) on JS_ERROR or APP_CRASH to get notified the instant errors happen.
Privacy & scope
Captured errors are bounded for safety: messages are truncated, query strings are stripped from request URLs, and Nohmo never reports failures of its own tracking endpoint. Stack traces are raw / unsymbolicatedfor now (dSYM & ProGuard mapping are planned).
Native capture covers uncaught JVM exceptions (Android) and Objective-C exceptions + signal crashes (iOS). Android NDK/C++ crashes, ANRs, and out-of-memory terminations are not captured in this version.