[Notas] desde cero para aprender el manejo de excepciones de Java

Podemos centrarnos en la cuenta del autor, se centran en el aprendizaje de Java a partir de notas de rascar antología. También podemos aprender de un catálogo visitan blogs blog de jardín del autor. La película documenta el aprendizaje y el intercambio de información sobre los programadores de vídeo basadas en el empleo de clases caballo negro, y grabar notas y sus propias opiniones. Bienvenido a aprender y discutir.

[Notas] desde cero para aprender directorio de Java

Lo que es anormal?

Anormalidad no es normal, se producen errores al compilar nuestro código o en tiempo de ejecución. Cuando escribimos código, a menudo algunos pequeños problemas, a continuación, a fin de ayudar a hacer frente a estos problemas, a excepción de Java proporciona un mecanismo para nosotros. Excepción contiene el tipo incorrecto, la ubicación y la causa de
la arquitectura anormal:
Throwable (la mayoría de nivel de entrada)
Error: Problemas graves pueden surgir no se maneja
una excepción: puede hacer frente a los problemas

inusual enfoque

forma 1.jvm a las excepciones de la manija:
Si se produce una excepción que no se ocupan de, JVM nosotros para lidiar con la ayuda, él tipo inusual, ya que no aparecen en la línea de comandos, y también terminado el programa, código de excepción no será volver ejecución.

2. Captura proceso de
instrucción try ... catch
formato:

 try {
  有可能出现问题的代码;
} catch(ArithmeticException ae) {
  处理异常;
    }

El orden de ejecución try ... catch:
En primer lugar, la sentencia try, si no se ejecuta inusual, el código siguiente anormal saltar directamente a la sentencia catch, declaración después de la captura, toda la parte try ... catch, si no es inusual, después de la sentencia se ejecuta trato, trato ... pesco a la final, no ejecución de sentencia catch

3. expulsados
cuando no queremos manejar la excepción, o la imposibilidad de tratar, podemos optar por lanzar una excepción, que llama al método que excepciones mango, use la palabra clave lanza en la declaración de un método lanza una excepción

Por ejemplo:

import java.io.FileWriter;
import java.io.IOException;


public class ExceptionDemo2 {
	public static void main(String[] args) throws Exception {
		//method();
		
		function();
		
	}
	
	public static void function() throws Exception {
		FileWriter fw = new FileWriter("a.txt");
	}

	private static void method() {
		try {
			System.out.println(1);
			//System.out.println(2 / 0);
			System.out.println(2);
		} catch(ArithmeticException ae) {
			System.out.println("除数不能为0");
		}
		
		System.out.println(3);
	}

}

Manejo de múltiples excepciones

¿Cómo lidiar con múltiples excepciones:
1. Se puede utilizar una pluralidad de intentarlo .. comunicado .catch
2. El uso de una pluralidad de tratar de atrapar

La secuencia entre la pluralidad de captura:
puede haber entre la pluralidad de sub padres coger
ningún orden entre el mismo nivel
si el padre del niño, la clase padre debe colocarse detrás de la excepción

类 throwable

public class ExceptionDemo3 {
	public static void main(String[] args) {
		try {
			System.out.println(2 / 0);
		} catch (ArithmeticException e) {
			// String getMessage() : 原因
			// System.out.println(e.getMessage());

			// String toString() 类型和原因
			// System.out.println(e.toString());

			// void printStackTrace():类型原因和位置,和jvm处理不同,不会终止程序运行
			e.printStackTrace();
		}

		// System.out.println("hello");
	}

}

finalmente

por último: try ... catch combinación de uso, tales como trabajos de acabado en la liberación de recursos, independientemente de la sentencia try ... catch se ejecuta, ejecuta el código dado finalmente, se usan para tratar algunos de los toques finales, tales como la liberación de recursos

try {
    有可能出现问题的代码;
} catch(异常对象) {
    处理异常;
} finally {
    释放资源;
    清理垃圾;
}

clasificación inusual

Ejecutar una anormal: RuntimeException es una subclase de excepciones de tiempo de ejecución, son libres de elegir el tratamiento en tiempo de compilación o no se ocupan de
excepción en tiempo de compilación: Excepción es una subclase de subclase no RuntimeExcpetion debe ser manejado en tiempo de compilación

Supongo que te gusta

Origin www.cnblogs.com/zllk/p/12656772.html
Recomendado
Clasificación