add homemade exception-handler middleware