nc-photos/app/lib/exception_util.dart

29 lines
1 KiB
Dart
Raw Normal View History

2021-04-10 06:28:12 +02:00
import 'dart:io';
2021-07-25 07:00:38 +02:00
import 'package:nc_photos/app_localizations.dart';
2021-04-10 06:28:12 +02:00
import 'package:nc_photos/exception.dart';
/// Convert an exception to a user-facing string
///
/// Typically used with SnackBar to show a proper error message
2022-08-05 19:52:27 +02:00
String toUserString(Object? exception) {
2021-04-10 06:28:12 +02:00
if (exception is ApiException) {
if (exception.response.statusCode == 401) {
return L10n.global().errorUnauthenticated;
2021-10-06 18:56:43 +02:00
} else if (exception.response.statusCode == 404) {
2022-07-21 07:45:49 +02:00
return "HTTP 404 not found";
2021-04-10 08:34:19 +02:00
} else if (exception.response.statusCode == 423) {
return L10n.global().errorLocked;
2021-05-28 06:37:15 +02:00
} else if (exception.response.statusCode == 500) {
return L10n.global().errorServerError;
2021-04-10 06:28:12 +02:00
}
} else if (exception is SocketException) {
return L10n.global().errorDisconnected;
2021-05-06 06:57:20 +02:00
} else if (exception is InvalidBaseUrlException) {
return L10n.global().errorInvalidBaseUrl;
} else if (exception is AlbumDowngradeException) {
return L10n.global().errorAlbumDowngrade;
2021-04-10 06:28:12 +02:00
}
2022-08-05 19:52:27 +02:00
return exception?.toString() ?? "Unknown error";
2021-04-10 06:28:12 +02:00
}