@@ -217,9 +217,7 @@ public function generate($name, $parameters = array(), $absolute = false)
217
217
try {
218
218
return $ router ->generate ($ name , $ parameters , $ absolute );
219
219
} catch (RouteNotFoundException $ e ) {
220
- $ hint = ($ router instanceof VersatileGeneratorInterface)
221
- ? $ router ->getRouteDebugMessage ($ name , $ parameters )
222
- : "Route ' $ name' not found " ;
220
+ $ hint = $ this ->getErrorMessage ($ name , $ router , $ parameters );
223
221
$ debug [] = $ hint ;
224
222
if ($ this ->logger ) {
225
223
$ this ->logger ->info ('Router ' .get_class ($ router )." was unable to generate route. Reason: ' $ hint': " .$ e ->getMessage ());
@@ -231,12 +229,28 @@ public function generate($name, $parameters = array(), $absolute = false)
231
229
$ debug = array_unique ($ debug );
232
230
$ info = implode (', ' , $ debug );
233
231
} else {
234
- $ info = " No route ' $ name' found " ;
232
+ $ info = $ this -> getErrorMessage ( $ name) ;
235
233
}
236
234
237
235
throw new RouteNotFoundException (sprintf ('None of the chained routers were able to generate route: %s ' , $ info ));
238
236
}
239
237
238
+ private function getErrorMessage ($ name , $ router = null , $ parameters = null )
239
+ {
240
+ if ($ router instanceof VersatileGeneratorInterface) {
241
+ $ displayName = $ router ->getRouteDebugMessage ($ name , $ parameters );
242
+ } elseif (is_object ($ name )) {
243
+ $ displayName = method_exists ($ name , '__toString ' )
244
+ ? (string ) $ name
245
+ : get_class ($ name )
246
+ ;
247
+ } else {
248
+ $ displayName = (string ) $ name ;
249
+ }
250
+
251
+ return "Route ' $ displayName' not found " ;
252
+ }
253
+
240
254
/**
241
255
* {@inheritdoc}
242
256
*/
0 commit comments