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.