anchor.diff:  	at java.lang.Thread.run(Thread.java:748)
   ----
   
  -The javadoc:StatusCodeException works as generic exception that let you specify an status code.
  +The javadoc:StatusCodeException[] works as generic exception that let you specify an status code.
   
   ----
   throw new StatusCodeException(StatusCode.FORBIDDEN);
  
positive.code: <1> Install one of the available <<modules-template-engine, template engines>>
  <2> Install one of the available <<modules-json, json modules>>
  <3> Test if the accept header matches the `application/json` content type
  <4> Render json or fallback to html 
  
  === Catch by Code
  
  
negative.code: [source, java, role = "primary"]
  ----
  
  import static io.jooby.MediaType.json;
  import static io.jooby.MediaType.html;
  
  {
    install(new MyTemplateEngineModule());                      <1>
    
    install(new MyJsonModule());                                <2>
  
    error((ctx, cause, statusCode) -> {
      Router router = ctx.getRouter();
      router.getLog().error("found `{}` error", statusCode.value(), cause);
      
      if (ctx.accept(json)) {                                   <3>
        Map error = ...;
        ctx.render(error);                                      <4>
      } else {
        // fallback to html
        Map error = ...;
        ctx.render(new ModelAndView("error.template", error));  <5>
      }
    });
  }
  