The exception message:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
The HttpException should throw some sort of identifying information about the control or controls mismatch taking place within viewstate. The Control.ClientID or Control.ID or some sort of identifying information of the current viewstate or the page's viewstate should be included in the exception message.