Skip to main content
All failures the Encore SDK reports are subclasses of EncoreError, organized into four categories by cause. show() never throws: presentation failures arrive as values, in NotPresented(NotPresentedReason.Error(...)) on the PresentationResult, and claim failures as AdvertiserOutcome.Failed(error). EncoreError extends Exception because errors still travel as throwables where the platform expects them: inside the SDK, and out of your purchase controller, which throws for a real purchase failure and lands on the record as PublisherOutcome.Failed.

Hierarchy

Error categories

Integration: SDK misuse

Errors caused by incorrect SDK setup. These are preventable by following the integration guide.

Protocol: response failures

Errors from the API layer: HTTP failures, malformed responses, or API-level errors.

Transport: infrastructure failures

Errors from the network or persistence layer.

Domain: business rule violations

Usage

show() never throws. A presentation-level failure arrives as NotPresented(NotPresentedReason.Error(...)), and result.error reads it directly:
A claim that errored after the sheet appeared surfaces on the advertiser axis instead, as AdvertiserOutcome.Failed(error); see PresentationResult.
In production, log result.error broadly. Only branch on specific subtypes when you handle them differently (e.g. showing a “no internet” message for Transport.Network).