Skip to content

Instantly share code, notes, and snippets.

@wiseminds
Created August 23, 2020 14:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wiseminds/809699a17de72b019c31dbd4f4e16562 to your computer and use it in GitHub Desktop.
Save wiseminds/809699a17de72b019c31dbd4f4e16562 to your computer and use it in GitHub Desktop.
///Ekeh Wisdom ekeh.wisdom@gmail.com
///c2019
///Sun Nov 24 2019
import 'dart:async';
import 'dart:io';
import '../models/error_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
class ExceptionFormater {
ErrorModel formatErrorMessage(dynamic error) {
String message;
int code;
if (kDebugMode) print(error);
switch (error.runtimeType) {
case ErrorModel:
message = (error as ErrorModel).message;
code = (error as ErrorModel).code;
break;
case SocketException:
case HttpException:
// case ClientException:
case RedirectException:
case WebSocketException:
message =
'Could not connect to the server please check your internet connection';
code = 7000;
break;
case FormatException:
message = 'Improperly formatted value';
code = 7001;
break;
case MissingPluginException:
message = 'Plugin not found';
code = 7002;
break;
case NetworkImageLoadException:
message = 'Could not load the image image';
code = 7003;
break;
case HandshakeException:
message = 'Could not establish secure connection with the server';
code = 7004;
break;
case CertificateException:
message = 'An error ocurred could not verify server certificate';
code = 7005;
break;
case FileSystemException:
message = 'A filesystem exception has occurred';
code = 7006;
break;
case TlsException:
message = 'SSL error occured ${error?.message ?? ''}';
code = 7007;
break;
case WebSocketException:
message = 'Could not connect to the server please check your internet connection';
code = 7008;
break;
case TimeoutException:
message = 'Connection Timed out please check your internet connection';
code = 7009;
break;
case RedirectException:
message = 'Could not connect to the server please check your internet connection';
code = 7010;
break;
default:
message = 'an unexpected error has occured';
code = 7011;
}
return ErrorModel((b)=> b
..message = message
..code = code
..build());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment