El lenguaje Java proporciona el modelo de excepción para que los desarrolladores puedan manejar situaciones en las que la ejecución normal del programa va mal . Hay muchas maneras en que un programa puede tomar un giro inesperado , pero algunos tipos generales de actividad son propensos a estas situaciones, tales como entrada /salida, el procesamiento con matrices y algunos cálculos aritméticos. Tener una idea de cómo manejar las excepciones en los programas Java es una de las habilidades clave que participan en convertirse en un desarrollador. Instrucciones
1
Crear el programa Java , utilizando el siguiente esquema como la clase y el método principal :
import java.io. * ;
public class ExceptionDemo {
public static void main ( String [] args ) {
FileWriter FileOut = new FileWriter ( " OutputFile.txt ");
PrintWriter Impresión = new PrintWriter ( FileOut ) ;
printOut.println ( "Texto que se imprime en un archivo ");
printOut.close ();
fileOut.close ();
< p >} }
Si pega este código en un IDE ( Integrated Development Environment) que pone de relieve los errores de código , verá que ni siquiera será capaz de compilar , porque no es una "excepción no controlada. " El método constructor FileWriter puede lanzar una excepción, por ejemplo, si el archivo que ha especificado no se puede encontrar
2
Coloque el código con la excepción no controlada en un bloque " try" de la siguiente manera : .
try {
FileWriter FileOut = new FileWriter ( " OutputFile.txt ");
PrintWriter Impresión = new PrintWriter ( FileOut ) ;
printOut.println ( " el texto se imprime en un archivo ");
printOut.close ();
fileOut.close (); }
Esto debería evitar la compilador de quejarse acerca de las líneas que estaban causando errores de excepción no controlada , pero va a crear un nuevo tipo de error, ya que la declaración " try " aún no se ha completado. La declaración de " probar" que es básicamente un contenedor de código que puede lanzar una excepción, pero usted todavía tiene que indicar qué debe ocurrir si una excepción es en realidad tirado .
3
Inserte un " atrapar " declaración de la siguiente manera ( después del cierre " probar " soporte) :
catch ( IOException ioe ) {
System.err.println ( " Se ha producido IOException : "+ ioe.getMessage ( )); }
Esto debería ser suficiente para mantener el compilador feliz, y que permite llevar a cabo su programa. Sin embargo , lo único que han hecho es evitar que el programa se bloquee si se produce una excepción en este punto. Dependiendo de los detalles de la aplicación, es posible que desee insertar otro código para reflejar lo que está en su bloque " try" , ya que no se han ejecutado ese código. Tan pronto como se produce la excepción , la ejecución saltará directamente al código " captura " .
4
Agregar controladores de excepciones adicionales. Dependiendo de la naturaleza de su programa , puede ser aconsejable incluir código diferente para tipos específicos de excepción . Por ejemplo , antes de que el controlador " IOException " puede incluir :
catch ( FileNotFoundException fnfe ) {
System.err.println ( " FileNotFoundException ha ocurrido :" + fnfe.getMessage ()) ;
}
Este es un tipo más específico de error que el IOException , por lo que si la excepción que no es una FileNotFoundException , el código se salta al controlador más general IOException lugar . Encadenamiento de los controladores de excepciones de esta manera le permite dictar exactamente lo que debe ocurrir para cada tipo de error.