Java 为什么URL.openconction()会引发IOException。

Java 为什么URL.openconction()会引发IOException。,java,url,ioexception,urlconnection,Java,Url,Ioexception,Urlconnection,假设http方案(即新URL(“http://www.google.com/“”),是否会在myHttpURLConnection.connect()上而不是在myHttpURLConnection=myURL.openconconnection()上引发IOException 我的意思是instanceURL.openconction()似乎不会立即打开连接,如果是这样,怎么会出现IOException 提前感谢。当您调用openConnection时,将准备指定URL的连接。如果由于给定的U

假设http方案(即
新URL(“http://www.google.com/“
”),是否会在
myHttpURLConnection.connect()
上而不是在
myHttpURLConnection=myURL.openconconnection()上引发
IOException

我的意思是
instanceURL.openconction()
似乎不会立即打开连接,如果是这样,怎么会出现
IOException


提前感谢。

当您调用
openConnection
时,将准备指定URL的连接。如果由于给定的URL无效,
openConnection
无法准备连接,将抛出一个
IOException


有关更多信息,请参阅。

IOException
正在包装许多异常,例如
畸形异常
就是其中之一
如果您使用格式不正确的uri打开as连接(例如提供不正确的协议as-
abc://1.1.1.1:1111
)将抛出
MalformedException
包装在
IOException

下面的
MalformedException
我说这可能与使用file://有关,这是一个API设计决策,允许连接处理程序在尝试解析连接器时引发异常。我建议允许连接解析程序在构造并返回新连接器之前执行某种级别的验证(如果需要的话)…IMHOIt可能是因为URL的构造函数实际上抛出了MalformedURLException,这是IOException的一种类型。这意味着什么,无效URL意味着什么。构造URL对象时会发生格式错误的异常,对资源的访问似乎发生在.connect()调用上。