I think this question is generic to exceptions, but let's use my example.

I have the following straightforward controller for a "user home" page after a successful login.

```
@Controller
@RequestMapping("/user-home")
public class UserHomeController {

    private static Log log = LogFactory.getLog(UserHomeController.class);

    @RequestMapping(method = RequestMethod.GET)
    public String getUserHome(HttpServletRequest request) {

        if (request.getSession(false) == null) {
            throw new UnauthorizedClientException("Could not authenticate request. There is no session present for this request.");
        } else {
            return "user_home";
        }
    }

    @ResponseStatus(HttpStatus.NOT_FOUND)
    @ExceptionHandler({UnauthorizedClientException.class})
    public void handle404() {
        log.info("An UnauthorizedClientException was thrown inside UserHomeController.");
    }
}

```

So, it works, i.e. I get the default 404 page when there isn't a session present, but the message I passed into the UnauthorizedClientException is nowhere to be found. The 404 page has "Message:" with nothing after it. 

Where did my message go? What is normally the purpose of the message passed to the constructor of the exception?