FeedbackError
Phase 34 Plan 04 (AND-ERR-01/02/03/04).
Typed error surface returned from every public SDK entry point. Extends RuntimeException so it can flow through Kotlin coroutine kotlinx.coroutines.flow.Flow cancellation and Result machinery without special casing, but every public entry point catches and maps to a FeedbackError so host apps never see a raw throwable.
code is a stable, machine-readable identifier suitable for logs and analytics. message is an internal / technical description (not localized; may include class names for triage). suggestedActionRes is an @StringRes pointer to a localized user-facing copy hint rendered by the ErrorState composable.
Inheritors
Types
Catch-all for unexpected failures. Preserves the underlying cause chain.
Required SDK configuration field is missing (e.g. SDK not initialized).
Device cannot reach the backend (no DNS, timeout, generic IO).
A required runtime permission (e.g. camera, record audio) was refused.
Caller-supplied input failed validation. reason is a sanitized description.