[ https://issues.apache.org/jira/browse/HTTPCLIENT-1603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14294213#comment-14294213 ]
Michael Osipov commented on HTTPCLIENT-1603: -------------------------------------------- Checked changes. That looks better now. One facts astounds me which I and probably many others were not aware of: bq. Please note that <interfacename>HttpClient</interfacename> implementations re-throw <exceptionname>HttpException</exceptionname>s as <exceptionname>ClientProtocolException</exceptionname>, which is a subclass of <exceptionname>java.io.IOException</exceptionname>. This enables the users of <interfacename>HttpClient</interfacename> to handle both I/O errors and protocol violations from a single catch clause.</para> Though, I do not see the bonus here if you use Java 7, moreover if {{ClientProtocolException}} wraps a low-level {{HttpException}} which is not an {{IOException}}, I do not understand why {{ClientProtocolException}} inherits from {{IOException}}. That is confusing. Convenience, seriously? > ClientProtocolException contradicts tutorial statement in chapter 1.4 > --------------------------------------------------------------------- > > Key: HTTPCLIENT-1603 > URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1603 > Project: HttpComponents HttpClient > Issue Type: Bug > Components: Documentation, HttpClient > Affects Versions: 4.3.6, 4.4 Beta1 > Reporter: Michael Osipov > Priority: Minor > Fix For: 4.4 Final > > > [Chapter > 1.4|http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e271] > says: "HttpClient can throw two types of exceptions: {{java.io.IOException}} > in case of an I/O failure such as socket timeout or an socket reset and > {{HttpException}} that signals an HTTP failure such as a violation of the > HTTP protocol. Usually I/O errors are considered non-fatal and recoverable, > whereas HTTP protocol errors are considered fatal and cannot be automatically > recovered from." > The > [Javadoc|http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/ClientProtocolException.html] > of {{ClientProtocolException}} says: "Signals an error in the HTTP > protocol." Given the definition established in the tutorial, either one is > incorrect. Either {{ClientProtocolException}} must derive from > {{HttpException}} or its documentation must be contrary to the latter. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org