I tried to understand both and write sample code:
public HttpResponseMessage Get() { var response = ControllerContext.Request
HttpResponseException derives from Exception and embeds HttpResponseMessage. Since it derives from Exception it can be useful in try-catch scenarios.
HttpResponseException
Exception
HttpResponseMessage
try
catch
Default status code returned by HttpResponseException is HttpStatusCode.InternalServerError.
HttpStatusCode.InternalServerError