title: Routes parameter transformation throws on parsing failure String -> Int
body: <p>Router config using Play <a href="https://www.playframework.com/documentation/2.5.x/ScalaRouting#parameter-types" rel="nofollow">parameter transformation</a>: </p>
  
  <p><code>GET   /search   controllers.Search.query(page: Option[Int])</code> </p>
  
  <p>while <code>search?page=123</code> works as expected, visiting <code>search?page=asd</code> throws</p>
  
  <p>We're using our own wrappers to contain failures <code>Try { param.toInt }.toOption</code> but is there another way to cleanly contain parse exceptions in <code>routes</code> configuration or <code>Action</code> block?</p>
  
  <p>Also: does anyone see parameter transformation is represented in the <a href="https://github.com/playframework/playframework/tree/d6c2673d91d85fd37de424951ee5ad9f4f4cce98/framework/src/play/src/main/scala" rel="nofollow">Play source</a>?</p>