platform/lib/src/routing_exception.dart

24 lines
801 B
Dart
Raw Normal View History

/// Represents an error in route configuration or navigation.
2016-10-12 17:58:32 +00:00
abstract class RoutingException extends Exception {
2018-08-20 19:34:00 +00:00
factory RoutingException(String message) =>
2019-11-28 17:40:32 +00:00
_RoutingExceptionImpl(message);
/// Occurs when trying to resolve the parent of a [Route] without a parent.
2019-11-28 17:40:32 +00:00
factory RoutingException.orphan() => _RoutingExceptionImpl(
2018-08-20 19:34:00 +00:00
"Tried to resolve path '..' on a route that has no parent.");
/// Occurs when the user attempts to navigate to a non-existent route.
2018-08-20 19:34:00 +00:00
factory RoutingException.noSuchRoute(String path) =>
2019-11-28 17:40:32 +00:00
_RoutingExceptionImpl(
2018-08-20 19:34:00 +00:00
"Tried to navigate to non-existent route: '$path'.");
2016-10-12 17:58:32 +00:00
}
class _RoutingExceptionImpl implements RoutingException {
final String message;
_RoutingExceptionImpl(this.message);
@override
String toString() => message;
2018-08-20 19:34:00 +00:00
}