
class MiExcepcionCentral {
	//Esta clase no hereda de excepcion pero puede controlarlas 
	//basandose en los tipos. Esto permite que en el resto del 
	//codigo solo se use Exception
	MiExcepcionCentral(Exception e,EjercicioTres instancia) {
		// TODO Auto-generated constructor stub
		if(e.getClass().equals(ArithmeticException.class))
			System.out.println("aritmetica");	
		instancia.tipo=8;
	}
}

public class EjercicioTres {
	int divisor = 0;
	int tipo=0;
	public void viendoFallo() throws Exception {
		if (divisor == 0)
			//Tirando mi propia excepcion necesito de throws
			throw new ArithmeticException();
	}

	public static void main(String[] args) {
		EjercicioTres nuevo = new EjercicioTres();
		try {
			nuevo.viendoFallo();
			
		} catch (Exception e) {
			new MiExcepcionCentral(e,nuevo);			
		}
		System.out.println("valor arreglado "+nuevo.tipo);
	}

}
