Simple Simulador de circuitos electrónicos, que incorpora herramientas bastante útiles. Para descargarlo presione AQUI.
Mundo Java y más.
sábado, 12 de noviembre de 2011
domingo, 6 de noviembre de 2011
¿Qué es una Excepción y qué cuidados debo tener?
El término excepción es un forma corta da la frase "suceso excepcional". Muchas clases de errores pueden utilizar excepciones -- desde serios problemas de hardware, como la avería de un disco duro, a los simples errores de programación, como tratar de acceder a un elemento de un array fuera de sus límites. Cuando
dicho error ocurre dentro de un método Java, el método crea un objeto 'exception' y lo maneja fuera, en el sistema de ejecución. Este objeto contiene información sobre la excepción, incluyendo su tipo y el estado del programa cuando ocurrió el error. El sistema de ejecución es el responsable de buscar algún código para
manejar el error. En terminología java, crear una objeto exception y manejarlo por el sistema de ejecución se llama lanzar una excepción. Después de que un método lance una excepción, el sistema de ejecución entra en acción para buscar el manejador de la excepción. El conjunto de "algunos" métodos posibles para manejar la excepción es el conjunto de métodos de la pila de llamadas del método donde ocurrió el error. El sistema de ejecución busca hacia atrás en la pila de llamadas, empezando por el método en el que ocurrió el error, hasta que encuentra un método que contiene el "manejador de excepción" adecuado. Un manejador de excepción es considerado adecuado si el tipo de la excepción lanzada es el mismo que el de la excepción manejada por el manejador. Así la excepción sube sobre la pila de llamadas hasta que encuentra el manejador
apropiado y una de las llamadas a métodos maneja la excepción, se dice que el manejador de excepción elegido captura la excepción. Si el sistema de ejecución busca exhaustivamente por todos los métodos de la pila de llamadas sin encontrar el manejador de excepción adecuado, el sistema de ejecución finaliza.
dicho error ocurre dentro de un método Java, el método crea un objeto 'exception' y lo maneja fuera, en el sistema de ejecución. Este objeto contiene información sobre la excepción, incluyendo su tipo y el estado del programa cuando ocurrió el error. El sistema de ejecución es el responsable de buscar algún código para
manejar el error. En terminología java, crear una objeto exception y manejarlo por el sistema de ejecución se llama lanzar una excepción. Después de que un método lance una excepción, el sistema de ejecución entra en acción para buscar el manejador de la excepción. El conjunto de "algunos" métodos posibles para manejar la excepción es el conjunto de métodos de la pila de llamadas del método donde ocurrió el error. El sistema de ejecución busca hacia atrás en la pila de llamadas, empezando por el método en el que ocurrió el error, hasta que encuentra un método que contiene el "manejador de excepción" adecuado. Un manejador de excepción es considerado adecuado si el tipo de la excepción lanzada es el mismo que el de la excepción manejada por el manejador. Así la excepción sube sobre la pila de llamadas hasta que encuentra el manejador
apropiado y una de las llamadas a métodos maneja la excepción, se dice que el manejador de excepción elegido captura la excepción. Si el sistema de ejecución busca exhaustivamente por todos los métodos de la pila de llamadas sin encontrar el manejador de excepción adecuado, el sistema de ejecución finaliza.
Manejo de Errores utilizando Excepciones
Existe una regla de oro en el mundo de la programación: en los programas ocurren errores. Esto es sabido. Pero ¿qué sucede realmente después de que ha ocurrido el error? ¿Cómo se maneja el error? ¿Quién lo maneja?, ¿Puede recuperarlo el programa?
El lenguaje Java utiliza excepciones para proporcionar capacidades de manejo de errores. En esta lección aprenderás qué es una excepción, cómo lanzar y capturar excepciones, qué hacer con una excepción una vez capturada, y cómo hacer un mejor uso de las excepciones heredadas de las clases proporcionadas por el
entorno de desarrollo de Java.
El lenguaje Java utiliza excepciones para proporcionar capacidades de manejo de errores. En esta lección aprenderás qué es una excepción, cómo lanzar y capturar excepciones, qué hacer con una excepción una vez capturada, y cómo hacer un mejor uso de las excepciones heredadas de las clases proporcionadas por el
entorno de desarrollo de Java.
jueves, 3 de noviembre de 2011
Uso de Exception III
// Demostración de getMessage y printStackTrace de la clase Exception.
public class UsoExcepciones {
public static void main( String args[] )
{
try {
metodo1(); // llamar a metodo1
}
// atrapar las excepciones lanzadas desde metodo1
catch ( Exception excepcion ) {
System.err.println( excepcion.getMessage() + "\n" );
excepcion.printStackTrace();
// obtener la información de rastreo de la pila
StackTraceElement[] elementosRastreo = excepcion.getStackTrace();
System.out.println( "\nRastreo de pila proveniente de getStackTrace:" );
System.out.println( "Clase\t\tArchivo\t\t\tLinea\tMetodo" );
// iterar a través de elementosRastreo para obtener descripción de las excepciones
for ( int i = 0; i < elementosRastreo.length; i++ ) {
StackTraceElement elementoActual = elementosRastreo[ i ];
System.out.print( elementoActual.getClassName() + "\t" );
System.out.print( elementoActual.getFileName() + "\t" );
System.out.print( elementoActual.getLineNumber() + "\t" );
System.out.print( elementoActual.getMethodName() + "\n" );
} // fin de la instrucción for
} // fin de la instrucción catch
} // fin del método main
// llamar a metodo2; lanzar excepciones de vuelta hacia main
public static void metodo1() throws Exception
{
metodo2();
}
// llamar al método3; lanzar excepciones de vuelta hacia metodo1
public static void metodo2() throws Exception
{
metodo3();
}
// lanzar excepción de vuelta a metodo2
public static void metodo3() throws Exception
{
throw new Exception( "La excepcion se lanzo en metodo3" );
}
} // fin de la clase UsoExcepciones
public class UsoExcepciones {
public static void main( String args[] )
{
try {
metodo1(); // llamar a metodo1
}
// atrapar las excepciones lanzadas desde metodo1
catch ( Exception excepcion ) {
System.err.println( excepcion.getMessage() + "\n" );
excepcion.printStackTrace();
// obtener la información de rastreo de la pila
StackTraceElement[] elementosRastreo = excepcion.getStackTrace();
System.out.println( "\nRastreo de pila proveniente de getStackTrace:" );
System.out.println( "Clase\t\tArchivo\t\t\tLinea\tMetodo" );
// iterar a través de elementosRastreo para obtener descripción de las excepciones
for ( int i = 0; i < elementosRastreo.length; i++ ) {
StackTraceElement elementoActual = elementosRastreo[ i ];
System.out.print( elementoActual.getClassName() + "\t" );
System.out.print( elementoActual.getFileName() + "\t" );
System.out.print( elementoActual.getLineNumber() + "\t" );
System.out.print( elementoActual.getMethodName() + "\n" );
} // fin de la instrucción for
} // fin de la instrucción catch
} // fin del método main
// llamar a metodo2; lanzar excepciones de vuelta hacia main
public static void metodo1() throws Exception
{
metodo2();
}
// llamar al método3; lanzar excepciones de vuelta hacia metodo1
public static void metodo2() throws Exception
{
metodo3();
}
// lanzar excepción de vuelta a metodo2
public static void metodo3() throws Exception
{
throw new Exception( "La excepcion se lanzo en metodo3" );
}
} // fin de la clase UsoExcepciones
Suscribirse a:
Entradas (Atom)