assertThat(superErrorRoute.canHandle(new SuperException())).isTrue();
assertThat(superErrorRoute.canHandle(new SubException())).isTrue();
assertThat(superErrorRoute.getTargetMethod().getName()).isEqualTo("superException");
final Route subErrorRoute = routes.routeFor(new SubException());
assertThat(subErrorRoute.canHandle(new SubException())).isTrue();
assertThat(subErrorRoute.canHandle(new SuperException())).isFalse();
assertThat(subErrorRoute.getTargetMethod().getName()).isEqualTo("subException");
final Route genErrorRoute = routes.routeFor(new Exception());
assertThat(genErrorRoute.canHandle(new SuperException())).isTrue();