platform/lib/src/routing_exception.dart
2018-08-20 15:34:00 -04:00

23 lines
813 B
Dart

/// Represents an error in route configuration or navigation.
abstract class RoutingException extends Exception {
factory RoutingException(String message) =>
new _RoutingExceptionImpl(message);
/// Occurs when trying to resolve the parent of a [Route] without a parent.
factory RoutingException.orphan() => new _RoutingExceptionImpl(
"Tried to resolve path '..' on a route that has no parent.");
/// Occurs when the user attempts to navigate to a non-existent route.
factory RoutingException.noSuchRoute(String path) =>
new _RoutingExceptionImpl(
"Tried to navigate to non-existent route: '$path'.");
}
class _RoutingExceptionImpl implements RoutingException {
final String message;
_RoutingExceptionImpl(this.message);
@override
String toString() => message;
}