Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son los errores comunes en la programación Java?

¿Cuáles son los errores comunes en la programación Java?

Creo que como programadores, a menudo nos encontramos con errores al compilar programas, o se producen errores durante la operación. Aquí le hablaremos principalmente sobre algunas excepciones y errores que encontramos con frecuencia y sus soluciones.

Las excepciones se refieren a errores que ocurren durante el proceso de compilación o ejecución de un programa.

Throwable contiene todas las excepciones en el paquete java.lang.

Error y excepción

(1)Error

Una vez que ocurre, no se puede reparar, pero se puede evitar.

Categorías de errores comunes:

IOError: error de E/S. Este error se produce cuando se produce un error de E/S grave.

¿VirtualMachineError?: Error de máquina virtual, que se produce cuando la máquina virtual Java falla o se queda sin recursos que necesita para seguir funcionando.

StackOverflowError: la memoria de la pila está llena. Este error se produce cuando la aplicación se repite demasiado y se produce un desbordamiento de la pila.

OutofMemoryError: la máquina virtual Java no puede asignar un objeto cuando la memoria del montón está llena porque la memoria se desborda o no hay memoria disponible para el recolector de basura. Se genera esta excepción.

Los anteriores son algunos errores comunes y hay algunos otros errores en la clase Error (consulte el archivo Java.lang.Throwable.Error).

(2)Excepción ( Excepción)

Una vez que ocurre, se puede capturar y procesar sin que el programa finalice. A veces se puede evitar y otras no.

Clasificación de excepciones:

1. ¿Excepción en tiempo de compilación (es necesario forzar su manejo)? 2. Excepción en tiempo de ejecución (no es necesario forzar su manejo)

Excepciones comunes Hay:

IOException: excepción de flujo de entrada y salida

FileNotFoundException: excepción de archivo no encontrado

ClassNotFoundException: excepción de clase no encontrada

DataFormatException: excepción de formato de datos

NoSuchFieldException: excepción sin atributo coincidente

NoSuchMethodException: excepción sin método coincidente

SQLException: excepción de operación de base de datos

p>

TimeoutException: excepción de tiempo de espera de ejecución

Excepciones de tiempo de ejecución comunes:

RuntimeException: excepción de tiempo de ejecución

NullPointerException: puntero nulo excepción

ArrayIndexOutofBoundsException: excepción de matriz fuera de límites

ClassCastException: excepción de conversión de tipo

IllegalArgumentException: excepción de parámetro ilegal

InputMismatchException: falta de coincidencia de entrada

Las anteriores son algunas excepciones comunes, y hay otras excepciones. Consulte el archivo: Java.lang.Throwable.Exception

Dado que a menudo encontramos algunas excepciones, ¿cómo las manejamos? estas excepciones? Es algo que hay que solucionar urgentemente.

(1) ¿Cómo manejar las excepciones en tiempo de compilación?

Método 1: coloque el bloque de código que debe procesarse en un try...catch...

try{

//La excepción necesita Código a manejar

}catch(XXXException ef){

ef.printStackTrace();

}

Nuestro primer método es Coloque el código incierto en try...catch y pruébelo primero. Si no hay excepción, la captura no se activará y no habrá salida. Una vez que ocurre la excepción, la captura funcionará y la información de la excepción será. capturado en la captura, realice medidas correctivas basadas en información anormal.

Como el siguiente código: Método 2: lanza la excepción directamente en el método donde ocurre la excepción, lanza

void ff() lanza XXXException{

}

Coloque el código de excepción en el método anterior y la excepción se lanzará al nivel superior del método, continuará lanzándose hacia arriba en la función principal y finalmente se lanzará a la máquina virtual Java JVM. Deje que la JVM resuelva el problema.

Como código: Nota: si no está seguro de cuál es la excepción al capturar y lanzar, simplemente escriba una excepción directamente.

(2) ¿Cómo lidiar con las excepciones en tiempo de ejecución?

1. En circunstancias normales, ¿no es necesario manejar las excepciones de tiempo de ejecución?

2. try...catch...

Las anteriores son algunas de las formas en que manejamos las excepciones en tiempo de compilación y las excepciones en tiempo de ejecución.

Cuando ocurre una excepción en el programa, a veces podemos personalizar la excepción para que podamos descubrir cuál es la excepción.

Entonces, ¿cómo personalizar las excepciones?

1. Cuando el programa se ejecuta inesperadamente, puedes lanzar un objeto de excepción para finalizar el programa.

Por ejemplo:

//Lanza un objeto de excepción de tiempo de ejecución

RuntimeException ef = new RuntimeException ("¡El subíndice está fuera de los límites! índice: " index ", tamaño: " size()

throw ef;

2. Para excepciones en tiempo de compilación, también se pueden lanzar objetos de excepción

Pero se deben agregar lanzamientos al definir el método

Por ejemplo:

p>

prueba de anulación pública (int t) arroja una excepción{

if (t lt; 0 || t gt; 100) {

Excepción ef = new Exception(" Error de datos");

throw ef;

}

}

Por ejemplo: Ejecutando Resultados: como se puede ver en los resultados, cuando ocurre un error al ingresar datos, las excepciones personalizadas pueden permitirnos encontrar excepciones de tiempo de ejecución o compilación de manera más directa y rápida.

En lo anterior mencionamos tres tipos de lanzamiento, a saber, Throwable, Throws y throw. Entonces, ¿cuáles son las diferencias entre los tres?

Throwable: se refiere a una clase en el paquete Java.lang, que contiene todas las excepciones y errores, entre las cuales las clases Error y Exception son sus subclases

.

Thows: se refiere a resolver excepciones en tiempo de compilación y lanzar excepciones en el método al nivel superior. Throw Exception debe agregarse después del método a lanzar.

Lanzar: significa que al personalizar una excepción, si ocurre una excepción en el método, se lanzará el objeto utilizado como método de referencia. Es decir, se lanza una excepción.