我正在开发一个API,它发送回正确的HTTP状态代码(401未经授权等) - 但这会导致我的代码(使用HttpURLConnection)在我尝试查看状态代码时抛出IOException。
这是一个问题,因为不同的“错误代码”http状态代码意味着不同的东西,但它们都被包含在来自HttpURLConnection的IOException中。
有没有办法阻止HttpURLConnection抛出这些异常?我最好重新打包HttpClient 4.1并将其用于我的客户端吗?我知道谷歌正在推动HttpURLConnection,所以我正在使用它...但这个问题让我重新考虑我的决定。
答案 0 :(得分:1)
您是否确定在尝试查看状态代码时? docs说:
如果HTTP响应指示发生了错误,则getInputStream()将抛出IOException。
但这只适用于getInputStream
。您仍然可以使用getResponseCode
获取状态代码,除非您确实遇到某种I / O问题。如果这确实是一个问题,你可以发布堆栈跟踪吗?