title: Why is InputStream.close() declared to throw IOException?
body: <p>The <a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#close%28%29" rel="noreferrer"><code>java.io.InputStream.close()</code></a> method is declared to throw an <code>IOException</code>. Under what circumstances would such an exception actually be thrown?</p>
  
  <p>Edit: Yes I have read the javadoc. Can anybody be more specific than "when an I/O error occurs"? <em>What</em> I/O error can occur while closing an <code>InputStream</code>?</p>