On Tue, 30 May 2017 09:54:19 -0400, Steven Schveighoffer wrote:

Other exceptions will just print an exception to the web page and
continue running. With a web server, it's kind of expected that any
error in a web page will not bring down the whole thing. Is there a way
to specifically catch RangeError and continue to run?

Why don't you wrap the request handler into a try-catch block?

void foo(HTTPServerRequest req, HTTPServerResponse res)
   string[string] map = [
      "eins": "one"
   res.writeBody (map["9"]);

T wrap(T) (T f)
   return (HTTPServerRequest i, HTTPServerResponse j) {
         f (i, j);
      catch (Throwable) {
         import std.stdio;
         stderr.writeln ("caught something");
   router.get("/test", toDelegate (&foo).wrap);