nc-photos/lib/exception_util.dart

26 lines
982 B
Dart
Raw Normal View History

2021-04-10 12:28:12 +08:00
import 'dart:io';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:nc_photos/exception.dart';
/// Convert an exception to a user-facing string
///
/// Typically used with SnackBar to show a proper error message
String toUserString(dynamic exception, BuildContext context) {
if (exception is ApiException) {
if (exception.response.statusCode == 401) {
2021-07-24 04:05:57 +08:00
return AppLocalizations.of(context)!.errorUnauthenticated;
2021-04-10 14:34:19 +08:00
} else if (exception.response.statusCode == 423) {
2021-07-24 04:05:57 +08:00
return AppLocalizations.of(context)!.errorLocked;
2021-05-28 12:37:15 +08:00
} else if (exception.response.statusCode == 500) {
2021-07-24 04:05:57 +08:00
return AppLocalizations.of(context)!.errorServerError;
2021-04-10 12:28:12 +08:00
}
} else if (exception is SocketException) {
2021-07-24 04:05:57 +08:00
return AppLocalizations.of(context)!.errorDisconnected;
2021-05-06 12:57:20 +08:00
} else if (exception is InvalidBaseUrlException) {
2021-07-24 04:05:57 +08:00
return AppLocalizations.of(context)!.errorInvalidBaseUrl;
2021-04-10 12:28:12 +08:00
}
return exception.toString();
}