Class java.lang.IndexOutOfBoundsException
By : Alma Esqueda
Esta
es lanzada para indicar que un índice de algún tipo (por ejemplo, a una matriz,
una cadena, o para un vector) está fuera de rango.
FileNotFoundException
By : Alma Esqueda
Excepción que se produce cuando se produce un
error al intentar tener acceso a un archivo que no existe en el disco.
EOFException
By : Alma Esqueda
Es
una checked exception, por lo cual, en caso de ser declarada tiene que ser
manejada dentro del método. Existen dos modos de manejar una excepción:
Arrojándola o tratándola. Cuando arrojas una excepción (usando la palabra
reservada throws) quiere decir que en el método donde la arrojas no es
necesario darle un tratamiento en específico, sin embargo, la excepción podrá
ser arrojada hacia algún trozo de código que mande llamar a este método.
IOException
By : Alma Esqueda
Significa
que se ha producido un error en la entrada/salida. Es obligatorio tratar la excepción, ya sea en la cabeza del método con
"throws IOException" o con un bloque try/catch.
java.io.IOException
es una clase java que tiene por objetivo señalar que ha ocurrido algún tipo
error de entrada o salida de datos, java crea un objeto de esta clase que
representa ese error.
Así, los métodos de las clases que manejan Streams de entrada o salida lanzan estas excepciones (objetos de la clase IOException); por ejemplo, aquellos de las clases InputStream, InputStreamReader, OutputStream o OutputStreamWriter.
Como ocurre con otras clases de excepciones, cuando se crea y lanza un objeto de la clase IOException este debe ser capturado en un bloque try - catch o ser traspasado o relanzado al método que realizó la llamada al método que genera la excepción (sentencia throws). Sin embargo, una vez generado el objeto Exception, este debe ser capturado en alguno de los métodos, ya que de no ser así hará que el programa termine, arrojando un mensaje de error.
Cuando crees algún programa que utilize algunas de estas clases de entrada/salida (io) y sus métodos, deberás importar también la clase IOException, agregando la siguiente línea en el encabezado de tu programa
NoRouteToHostException
By : Alma Esqueda
Las señales que se produjo un error al
intentar conectar un conector a una dirección remota y el
puerto. Normalmente, el host remoto no se puede alcanzar debido a un
cortafuegos intermedio, o si un enrutador intermedio es hacia abajo.
Class java.net.ConnectException
By : Alma Esqueda
Las señales
que se produjo un error al intentar conectar un socket a una dirección remota y
el puerto. Normalmente, la conexión fue rechazada de forma remota.
BindException
By : Alma Esqueda
Las
señales que se produjo un error al intentar enlazar un socket a una dirección y
el puerto local. Por lo general, el puerto está en uso, o la dirección local solicitada
no puede ser asignada.
Esta
excepción se lanza para indicar que se produjo un error cuando una aplicación
intenta enlazar un socket a una dirección y el puerto local. La principal
causa de esta excepción es que, o bien el puerto ya está en uso, o la dirección
solicitada no se puede asignar a la aplicación de llamada.
El BindException clase amplía
la SocketException clase, que se lanza para indicar un error al crear
o acceder a un socket.Además, el SocketException clase extiende
la IOException clase, que se utiliza para indicar que se ha producido
una excepción de E/S.
La
estructura de las BindException
Constructores
*BindException
()
Crea una
instancia de la BindException clase,
estableciendo nula como su mensaje.
*BindException
(String s)
Crea una
instancia de la BindException clase, utilizando la cadena
especificada como mensaje. El argumento de cadena indica el nombre de la
clase que arrojó el error.
El BindException en Java
Como ya
explicamos, el BindException se produce cuando la aplicación Java
intenta enlazar un socket a una dirección y el puerto local, pero que están
siendo utilizados por otra aplicación. Eche un vistazo al siguiente
ejemplo:
BindExceptionExample.java:
01
|
importación java.io.IOException;
|
02
|
importación java.net.ServerSocket;
|
03
|
|
04
|
pública clase BindExceptionExample {
|
05
|
|
06
|
privada última estática int PORT
= 15000;
|
07
|
|
08
|
públicas estáticas void main
(String [] args) lanza IOException {
|
09
|
ServerSocket _socket = nueva ServerSocket (PORT);
|
10
|
|
11
|
// La siguiente declaración lanza una BindException.
|
12
|
ServerSocket _socket_ = nueva ServerSocket (PORT);
|
13
|
|
14
|
_socket.close ();
|
15
|
_socket_.close ();
|
16
|
}
|
17
|
}
|
En este
ejemplo queremos crear dos instancias del ServerSocket clase. La
primera instancia se crea correctamente y se une el puerto
especificado. Cuando el segundo ejemplo está a punto de ser creado, usando
el mismo puerto, entonces, un BindException se lanza.
Una
muestra de la ejecución se muestra a continuación:
1
|
Excepción en
el hilo "principal" java.net.BindException:
Dirección ya en uso
|
2
|
en
java.net.PlainSocketImpl.socketBind (Método Nativo)
|
3
|
en java.net.AbstractPlainSocketImpl.bind
(AbstractPlainSocketImpl.java:382)
|
4
|
en java.net.ServerSocket.bind (ServerSocket.java:375)
|
5
|
en
java.net.ServerSocket. (ServerSocket.java:237)
|
6
|
en
java.net.ServerSocket. (ServerSocket.java:128)
|
7
|
en main.java.BindExceptionExample.main (BindExceptionExample.java:14)
|
La forma
más sencilla de evitar esta excepción es usar otro puerto y verificar
que el puerto no está en uso por otra aplicación.
SocketException
By : Alma Esqueda
Lanzado para indicar que hay un error al crear
o acceder a un Socket* .
* Los sockets son un mecanismo que nos permite
establecer un enlace entre dos programas que se ejecutan independientes el uno
del otro (generalmente un programa cliente y un programa servidor) Java por
medio de la librería java.net nos provee dos clases: Socket para
implementar la conexión desde el lado del cliente y ServerSocket que
nos permitirá manipular la conexión desde el lado del servidor. Cabe resaltar
que tanto el cliente como el servidor no necesariamente deben estar
implementados en Java, solo deben conocer sus direcciones IP y el puerto por el
cual se comunicarán.
NullPointerException
By : Alma Esqueda
Las excepciones de tipo NullPointer son
las causas de excepción en tiempo de ejecución más comunes.
Todos los valores en Java,
excepto las primitivas, son referencias a objetos y todos
tienen un valor por defecto, el valor null, que indica que el objeto no tiene
asignado ningún valor. A un objeto con valor null, no inicializado, que no
referencia ningún objeto, no se le puede aplicar ningún método, siendo el
resultado el lanzamiento de una excepción de tipo NullPointerException
Una excepción de tipo NullPointerException lleva
asociada la información de la línea de código donde se produjo el error. El
mecanismo para detectar y corregir el error es directamente ir a esta línea de
código y averiguar cuál de los objetos involucrados en la operación es el que
no ha sido inicializado. Una vez detectado, será necesario inicializar el valor
del objeto, pero siempre teniendo cuidado de no hacerlo para simplemente eliminar
el error, sino que se le debe asignar un valor acorde con la lógica propia del
programa.
public class ValidarNull {
public static void main(String[] args){
String
cadenaPrueba = null;
try{
//Validamos
la cadena nula evitando la excepciòn
if ("".equals(cadenaPrueba))
{
System.out.println("Hola");
}else{
System.out.println("Adiós");
}
}catch(NullPointerException
ex){
System.out.println("Una
fea excepción: "+ex);
}
}
}