Saltar al contenido

¿Qué arroja una IOException en Java?

Solución:

Suponga que fue:

  1. Leyendo un archivo de red y me desconecté.
  2. Leyendo un archivo local que ya no estaba disponible.
  3. El uso de alguna secuencia para leer datos y algún otro proceso cerró la secuencia.
  4. Intentando leer / escribir un archivo, pero no tengo permiso.
  5. Intentando escribir en un archivo, pero el espacio en disco ya no estaba disponible.

Hay muchos más ejemplos, pero estos son los más comunes, en mi experiencia.

En general, E / S significa Entrada o salida. Esos métodos arrojan la IOException siempre que una operación de entrada o salida falle o se interprete. Tenga en cuenta que esto no se lanzará por leer o escribir en la memoria ya que Java lo manejará automáticamente.

Aquí hay algunos casos que resultan en IOException.

  • Lectura de un flujo de entrada cerrado
  • Intente acceder a un archivo en Internet sin una conexión de red

La documentación de Java es útil para conocer la causa raíz de una IOException en particular.

Solo eche un vistazo al subinterfaces directos conocidos de IOException desde la página de documentación:

ChangedCharSetException, CharacterCodingException, CharConversionException, ClosedChannelException, EOFException, FileLockInterruptionException, FileNotFoundException, FilerException, FileSystemException, HttpRetryException, IIOException, InterruptedByTimeoutException, InterruptedIOException, InvalidPropertiesFormatException, JMXProviderException, JMXServerErrorException, MalformedURLException, ObjectStreamException, ProtocolException, RemoteException, SaslException, SocketException, SSLException, SyncFailedException, UnknownHostException, UnknownServiceException, UnsupportedDataTypeException, UnsupportedEncodingException, UserPrincipalNotFoundException, UTFDataFormatException, ZipException

La mayoría de estas excepciones se explican por sí mismas.

Unos pocos IOExceptions con causas fundamentales:

EOFException: indica que se ha alcanzado un final de archivo o un final de secuencia inesperadamente durante la entrada. Esta excepción la utilizan principalmente los flujos de entrada de datos para señalar el final del flujo.

SocketException: se lanza para indicar que hay un error al crear o acceder a un Socket.

RemoteException: una RemoteException es la superclase común para una serie de excepciones relacionadas con la comunicación que pueden ocurrir durante la ejecución de una llamada a un método remoto. Cada método de una interfaz remota, una interfaz que extiende java.rmi.Remote, debe incluir RemoteException en su cláusula throws.

UnknownHostException: se lanza para indicar que no se pudo determinar la dirección IP de un host (es posible que no esté conectado a Internet).

MalformedURLException: se lanza para indicar que se ha producido una URL con formato incorrecto. No se pudo encontrar ningún protocolo legal en una cadena de especificación o no se pudo analizar la cadena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *