reportException

abstract fun reportException(throwable: Throwable)

Reports a non-fatal exception to the crash reporting service.

Non-fatal exceptions are logged and aggregated but do not cause the app to crash. Use this to track errors that were caught and handled gracefully, but that you still want visibility into for debugging and monitoring purposes.

When to Use

  • Network failures that fall back to cached data

  • Failed background sync operations

  • Validation errors that shouldn't crash the app

  • Unexpected API responses that can be handled

  • Any caught exception that indicates a problem worth tracking

When NOT to Use

  • Expected errors (e.g., user enters invalid email format)

  • User-triggered cancellations

  • Normal flow control exceptions

Performance

This call is non-blocking and performs I/O operations asynchronously. It's safe to call from the main thread, though the actual reporting happens in the background.

Parameters

throwable

The exception to be reported. Should include a meaningful message and stack trace for debugging.