DescopeException class

The concrete type of Exception thrown by all operations in the Descope SDK.

There are several ways to catch and handle a DescopeException thrown by a Descope SDK operation, and you can use whichever one is more appropriate in each specific use case.

try {
  final authResponse = await Descope.otp.verify(method: DeliveryMethod.email, loginId: loginId, code: code);
  final session = DescopeSession.fromAuthenticationResponse(authResponse);
} on DescopeException catch (e) {
  switch(e) {
    case DescopeException.wrongOTPCode:
    case DescopeException.invalidRequest:
      showBadCodeAlert();
      break;
    case DescopeException.networkError:
      showNetworkErrorRetry();
      break;
    default:
      showUnexpectedErrorAlert(with: e);
  }
}
Implemented types

Constructors

DescopeException({required String code, required String desc, String? message, dynamic cause})
const

Properties

cause → dynamic
An optional underlying error that caused this error.
final
code → String
A string of 7 characters that represents a specific Descope error.
final
desc → String
A short description of the error message.
final
hashCode → int
The hash code for this object.
no setteroverride
message → String?
An optional message with more details about the error.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override