exception handling through middleware and middleware chaining