Witam.
Natknąłem się na pewien problem.
Future<Map<String, dynamic>> postRequest(String endpoint, Map<String, dynamic> obj) async {
try {
final response = await post(
endpoint,
obj,
).timeout(Duration(seconds: 10));
return jsonDecode(response.bodyString ?? "");
} on SocketException {
throw APIException("Brak połączenia z serwerem. Sprawdź dostęp do internetu.");
} on TimeoutException {
throw APIException("Przekroczono limit połączenia. Serwer jest niedostępny lub sprawdź dostęp do internetu i spróbuj ponownie później.");
} on FormatException {
throw APIException("Serwer zwrócił niepoprawny format danych. Spróbuj ponownie później lub skontaktuj się z administratorem.");
}
}
Mam ogólny request w HttpService, który na tę chwilę metodą POST ogarnia tylko logowanie do aplikacji. Do API łączę się lokalnie z emulatora.
- Wyłączenie API -> zwraca
FormatException - Wyłączenie neta w emulatorze -> zwraca
FormatException
Jak mam zwrócić SocketException oraz TimeoutException? Chce też jeszcze dorzucić HttpException, ale nie łapie w ogóle tych wyjątków, które faktycznie występują.