callWithHandler<T> method

Future<T> callWithHandler<T>(
  1. FutureOr<T> func()
)

Implementation

Future<T> callWithHandler<T>(FutureOr<T> Function() func) async {
  try {
    return await func();
  } on PlatformException catch (e, stack) {
    switch (e.code) {
      case "NoPrivateKeyFound":
        Error.throwWithStackTrace(
          NoPrivateKeyFoundException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "CustomWrongPasswordException":
        Error.throwWithStackTrace(
          WrongPasswordException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "ArgumentsParsingException":
        Error.throwWithStackTrace(
          ArgumentsParsingException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "SomeCertificatesAreNotAddedToTrustStoreException":
        Error.throwWithStackTrace(
          SomeCertificatesAreNotAddedToTrustStoreException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "AddSignerCertificateStatusUnknownOrRevokedException":
        Error.throwWithStackTrace(
          CertificateStatusUnknownOrRevokedException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "GetCertificateFromContainerException":
        Error.throwWithStackTrace(
          GetCertificateFromContainerException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "GetCertificatePrivateKeyException":
        Error.throwWithStackTrace(
          GetCertificatePrivateKeyException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "ReadSignatureFromStreamException":
        Error.throwWithStackTrace(
          ReadSignatureFromStreamException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      case "AddSignerUnknownException":
        Error.throwWithStackTrace(
          AddSignerUnknownException(
            code: e.code,
            message: e.message,
            stacktrace: e.stacktrace,
            details: e.details,
          ),
          stack,
        );
      default:
        rethrow;
    }
  }
}