¿Qué clase de excepción de Java usar para los errores HTTP?

Estoy usando Apache HttpClient y me gustaría comunicar errores HTTP (400 Solicitudes erróneas, 404 No encontrado, 500 Error de servidor, etc.) a través del mecanismo de excepción de Java al código de llamada. ¿Hay alguna excepción en la biblioteca estándar de Java o en una biblioteca ampliamente utilizada que sería apropiada de usar o de subclase para este propósito?

La alternativa es verificar los códigos de retorno de estado. Esta parece ser la filosofía de diseño de HttpClient, pero como estos errores son realmente excepcionales en mi aplicación, me gustaría tener el seguimiento de la stack y otras cosas agradables de excepción configuradas para mí cuando suceden.