platform/packages/route/lib/src/routing_exception.dart

22 lines
785 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 {
2019-11-28 17:49:58 +00:00
factory RoutingException(String message) => _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.
2019-11-28 17:49:58 +00:00
factory RoutingException.noSuchRoute(String path) => _RoutingExceptionImpl(
"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
}