getErrorMessage function

String? getErrorMessage(
  1. Object obj
)

Implementation

String? getErrorMessage(Object obj) {
  if (obj is AssertionError && obj.message != null) {
    return getErrorMessage(obj.message!);
  }
  if (obj is DioException) {
    var response = obj.response;
    if (response != null) {
      var data = response.data;
      if (data is Map<String, dynamic>) {
        var msg = _getMessageFromMap(data);
        if (msg != null) return msg;
      }
      var statusCode = response.statusCode;
      if (statusCode != null) {
        return 'Erro no servidor ($statusCode): ${response.statusMessage}';
      }
      if (data is String) {
        return data;
      }
    }
    var error = obj.error;
    if (error != null) {
      var msg = getErrorMessage(error);
      return 'Não foi possível conectar ao servidor: $msg';
    }
  }
  if (obj is SocketException) {
    var server = obj.address;
    var msg = obj.osError;
    return 'Não foi possível conectar ao servidor: $server. Mensagem: ${msg?.message}';
  }
  if (obj is Exception) {
    var message = obj.toString();
    message = message.replaceFirst(RegExp(r'^(Exception|Error):'), '');
    return message.trim();
  }
  if (obj is TypeError) {
    return obj.toString();
  }
  if (obj is Error) {
    var msg = obj.toString();
    return msg;
  }
  if (obj is String) {
    return obj;
  }
  return null;
}