On Thu, May 01, 2008 at 05:28:45PM -0400, Bob Scheifler wrote: > Peter Jones wrote: >> The other option that I can think of is that PreferredClassLoader was >> trying to be careful to only consider 4xx HTTP responses to indicate >> that the JAR file definitely does not exist, not 5xx HTTP responses, >> which are logically less definitive, but still cause >> FileNotFoundException.
Oops, I had gotten confused by looking at too many (old) JDK versions yesterday-- the above (FNFE thrown for any response code 400 or above) was true through 1.3.1, but since 1.4 and the fix for 4160499, a FNFE is thrown only if the response code is 404 or 410, otherwise a generic IOException is thrown, consistent with what Bob says below. >> This seems like a plausibile explanation, but it doesn't ring a >> bell with me (Bob?). > > The only difference I can find is that PreferredClassLoader treats > 403 (FORBIDDEN) as definitely does not exist, whereas HttpURLConnection > throws an IOException for it. Doesn't seem like we would have really > gone to that much trouble for that one case, though. Agreed. -- Peter
