SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
AUTO APRENDIZAJE

Excepciones en Java:

NullPointerException:

Especificación:
       public class NullPointerException extends RuntimeException


¿Cuándo Ocurre?:
     Esta excepción es lanzada por la JVM cuando se realiza alguna operación sobre un
     objeto o identificador null o se invoca algún método de ese objeto.

¿Cómo se evita?:

      En este ejemplo, la excepción NullPointerException es lanzada:

   1. String f = null;
   2. System.out.println("Esto causará que se dispare la excepción
      NullPointerException " + f.length());


      Esta es la forma que se puede evitar que la excepción se dispare:

   1. String f = null;
   2. if(f !== null)
   3. System.out.println("Esto causará que se dispare la excepción
      NullPointerException "+ f.length());


Ejemplo:

   1. public class EjemploNullPointerException
   2. {
   3.      public static void main( String[] args )
   4.      {
   5.                  Carro carro = null;
   6.
   7.                  if( carro != null )
   8.                  {
   9.                          // cambia el color
   10.                         carro.establecerColor( "Gris" );
   11.                         System.out.println( carro.obtenerColor() );
   12.                 }
   13.                 else
   14.                 {
   15.                         System.out.println( "El identificador no hace
       referencia a ningún objeto. Es null" );
   16.                 }
   17.     } // fin del método main
   18.} // fin de la clase Ejemplo
19.
   20.class Carro
   21.{
   22.        private String color = "Negro";
   23.        private String marca = "Chevrolet";
   24.
   25.        public void establecerColor( String c )
   26.        {
   27.                c = color;
   28.        } // fin del método establecerColor
   29.
   30.        public String obtenerColor()
   31.        {
   32.                return color;
   33.        } // fin del método obtenerColor
   34.} // fin de la clase Carro

Enlace al código fuente anterior:

       http://paste.ubuntu.com/704712/


ClassNotFoundException:

Especificación:
       public class ClassNotFoundException extends Exception

¿Cuándo Ocurre?:
     Esta excepción es lanzada cuando una aplicación trata de cargar/encontrar una clase.

¿Cómo se evita?:

       En este ejemplo, la excepción ClassNotFoundException es lanzada:

   1. public class EjemploClassNotFoundException
   2. {
   3.      public static void main( String[] args )
   4.      {
   5.                  Moto moto = null;
   6.
   7.                  if( moto != null )
   8.                  {
   9.                          // cambia el color
   10.                         moto.establecerColor( "Gris" );
   11.                         System.out.println( moto.obtenerColor() );
   12.                 }
   13.                 else
   14.                 {
   15.                         System.out.println( "El identificador no hace
       referencia a ningún objeto. Es null" );
   16.                 }
   17.     } // fin del método main
   18.} // fin de la clase Ejemplo
La salida en la línea de comandos:




      La solución a este problema podría ser:

          ○   Localizar la clase en el paquete correspondiente, o agregar el archivo jar que la
              contiene.
          ○   Crear y compilar el archivo de código fuente Java.




ClassCastException:

Especificación:
       public class ClassCastException extends RuntimeException

¿Cuándo Ocurre?:
     Esta excepción es lanzada cuando por Java cuando se intenta promocionar o convertir
     un objeto de una tipo de dato a otro..

¿Cómo se evita?:

      En este ejemplo, la excepción ClassCastException es lanzada:

import java.util.Vector;

public class EjemploClassCastException
{
    // punto de entrada de la aplicación
    public static void main(String[] args)
    {
        Vector v = new Vector();
        int i = 10;
Object obj = v.add(i);

         try
         {
               String y = (String)obj;
               v.add(y);
        }
        catch (ClassCastException e)
        {
System.out.println("La clase a la que pertenece: " + obj.getClass().getName()
);
            e.printStackTrace();
        } // fin de catch
    } // fin de main
} // fin de la clase EjemploCastException

       Enlace: http://paste.ubuntu.com/704867/

       Para evitar esta excepcion es necesario agregar Integer y = new Integer(( String
       ) obj) en lugar de String y = (String) obj:



         try
         {
               Integer y = new Integer((String)obj);
               v.add(y);
        }
        catch (ClassCastException e)
        {
System.out.println("La clase a la que pertenece: " + obj.getClass().getName()
);
            e.printStackTrace();
        } // fin de catch




InputMismatchException:

Especificación:

       public class InputMismatchException extends NoSuchElementException


¿Cuándo Ocurre?:

       Esta excepción es lanzada por un objeto Scanner para indicar que la entrada recibida
       por el usuario no coincide con el patrón del tipo esperado, o que la entrada (token) está
       por fuera del rango del tipo esperado.
¿Cómo se evita?:

      En este ejemplo, la excepción InputMismatchException es lanzada:

      public class EjemploInputMismatchException
      {
          public static void main( String args[] )
          {
              Scanner scanner = new Scanner( System.in );

               System.out.print( "Ingrese un número entero: " );
               int entero = scanner.nextInt();

          } // fin del método main
      } // fin de la clase EjemploInputMismatchException




      A continuación se incluye una aplicación que trata esta excepción y permite que el
      usuario pueda ingresar el número de nuevo:


      import java.util.InputMismatchException;
      import java.util.Scanner;

      public class EjemploInputMismatchException
      {
          public static void main( String args[] )
          {
              Scanner scanner = new Scanner( System.in );
boolean continuarCiclo = true; // determine if more input is
      needed
               do
               {
                    try
                    {
                          System.out.print( "Ingrese un número entero: " );
                          int entero = scanner.nextInt();

                          continuarCiclo = false; // entrada satisfactoria

                  } // end try
                  catch ( InputMismatchException inputMismatchException )
                  {
      System.err.printf( "nExcepción: %s", inputMismatchException );
                      scanner.nextLine(); //
                      System.out.println( "Usted debe ingresar un número.n"
      );
                  } // end catch
              } while ( continuarCiclo ); // fin del ciclo do...while
          } // fin de main
      } // fin de la clase EjemploInputMismatchException




      Enlace: http://paste.ubuntu.com/704884/




IllegalArgumentException:
Especificación:
       public class IllegalArgumentException extends RuntimeException

¿Cuándo Ocurre?:
     Una excepción Java que puede ser lanzada deliberadamente por métodos que no son
     compatibles con los tipos de los parámetros.

¿Cómo se evita?:

import java.lang.IllegalArgumentException;

public class EjemploIllegalArgumentException
{
    public static void main( String args[] )
    {

         double[] numeros = new double[ 0 ];

         System.out.printf( "Promedio: %.2fn", promedio( numeros ) );

    } // fin de main

public static double promedio( double [] arreglo ) throws
IllegalArgumentException
    {
        if ( arreglo.length == 0 )
        {
             throw new IllegalArgumentException();
        } // fin de else
        else
        {
             double suma = 0.0;

             for ( int i = 0; i < arreglo.length; i++ )
                 suma += arreglo[ i ];

            return suma / arreglo.length;
        } // fin de else
    } // fin del método promedio
} // fin de la clase EjemploInputMismatchException




FileNotFoundException:

Especificación:
       public class FileNotFoundException extends IOException
¿Cuándo Ocurre?:
     Esta excepción será lanzada por los constructores de las clases FileInputStream,
     FileOutputStream, y RandomAccessFile cuando un archivo especificado en la ruta no
     existe. También será lanzada por estos constructores si el archivo existe pero algún
     motivo es inaccesible, por ejemplo cuando se hace un intento de abrir un archivo de
     sólo escritura para ser escrito.

¿Cómo se evita?:



import java.io.*;

public class EjemploFileNotFoundException
{
    public static FileInputStream flujoEntrada(String nombreArchivo) throws
FileNotFoundException
    {
        FileInputStream fis = new FileInputStream(nombreArchivo);
        return fis;
    } // fin del método

    public static void main(String args[])
    {
        FileInputStream fis = null;
        String nombreArchivo = "C:datos.txt";

        // get file input stream 1
        try
        {
            fis = flujoEntrada( nombreArchivo );
        }
        catch ( FileNotFoundException ex )
        {
            System.out.println("Archivo no encontrado");
        } // fin de catch
    } // fin de main
} // fin de la clase
Enlace: http://paste.ubuntu.com/705150/


Excepciones encadenas:

      Ejemplo práctico de cómo tratar excepciones encadenadas. Este tipo de excepciones
      es el resultado de un serie de lanzamientos de irregularidades en métodos. Cada
      método se encarga de atrapar la excepción producida por el método que desde su
      implementación se invoca. Finalmente, la pila de excepciones se encarga de mostrar un
      volcado de la cadena.


public class UsandoExcepcionesEncadenadas
{
    public static void main( String args[] )
    {
        try
        {
            metodo1();
        } // end try
        catch (Exception exception)
        {
            exception.printStackTrace();
        } // end catch

    } // main

    // invoca a metodo2;
    private static void metodo1() throws Exception
    {
        try
        {
            metodo2(); // call metodo2
        } // fin de try
        catch (Exception exception)
        {
throw new Exception( "Excepción lanzada en metodo1", exception );
       } // fin de catch
   } // fin de metodo1

   // invoca a metodo3
   private static void metodo2() throws Exception
   {
       try
       {
           metodo3(); //
       } // fin de try
       catch (Exception exception)
       {
           throw new Exception( "Excepción lanzada en metodo2", exception );
       } // fin de catch
   } // fin de metodo2

    // Excepción lanzada de retorno al método metodo2
    private static void metodo3() throws Exception
    {
        throw new Exception( "Excepción lanzada en metodo3" );
    } // fin de metodo3
} // fin de la clase UsandoExcepcionesEncadenadas




     Enlace: http://paste.ubuntu.com/705201/

Más contenido relacionado

La actualidad más candente

ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAGabriel Suarez
 
Presentacion diseño de archivos
Presentacion diseño de archivosPresentacion diseño de archivos
Presentacion diseño de archivosharoldrm
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Entidad Relación | Ejercicio 2
Entidad Relación | Ejercicio 2Entidad Relación | Ejercicio 2
Entidad Relación | Ejercicio 2Jorge Canal
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 

La actualidad más candente (20)

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Infografia
InfografiaInfografia
Infografia
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Analisis y diseño diagrama de contexto
Analisis y diseño diagrama de contextoAnalisis y diseño diagrama de contexto
Analisis y diseño diagrama de contexto
 
Cuestionario java
Cuestionario java Cuestionario java
Cuestionario java
 
ENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVAENTRADA Y SALIDA DE DATOS EN JAVA
ENTRADA Y SALIDA DE DATOS EN JAVA
 
Presentacion diseño de archivos
Presentacion diseño de archivosPresentacion diseño de archivos
Presentacion diseño de archivos
 
Resumen interfaces
Resumen interfacesResumen interfaces
Resumen interfaces
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
colas de prioridad
colas de prioridad colas de prioridad
colas de prioridad
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Entidad Relación | Ejercicio 2
Entidad Relación | Ejercicio 2Entidad Relación | Ejercicio 2
Entidad Relación | Ejercicio 2
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Estrutura de dados - Filas
Estrutura de dados - FilasEstrutura de dados - Filas
Estrutura de dados - Filas
 

Destacado

Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesAndoni Eguíluz Morán
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Javaeccutpl
 
Java excepciones
Java excepcionesJava excepciones
Java excepcionesricardo_79
 
Technical Info 15 wrestplank replacement
Technical Info  15  wrestplank replacementTechnical Info  15  wrestplank replacement
Technical Info 15 wrestplank replacementDavid Boyce
 
Sintesis informativa 18 de mayo 2016
Sintesis informativa 18 de mayo 2016Sintesis informativa 18 de mayo 2016
Sintesis informativa 18 de mayo 2016megaradioexpress
 
Colorado Coach Connection September 20, 2011
Colorado Coach Connection September 20, 2011Colorado Coach Connection September 20, 2011
Colorado Coach Connection September 20, 2011ICF Colorado
 
Sevilla misterios y leyendas - fotos antiguas semana santa
Sevilla misterios y leyendas - fotos antiguas semana santaSevilla misterios y leyendas - fotos antiguas semana santa
Sevilla misterios y leyendas - fotos antiguas semana santaAntonio Camel
 
Introduction to Web Server Security
Introduction to Web Server SecurityIntroduction to Web Server Security
Introduction to Web Server SecurityJITENDRA KUMAR PATEL
 
Day 2: Trends in citizen input to the work of parliament, Ms. María Luisa So...
Day 2: Trends in citizen input to the work of parliament,  Ms. María Luisa So...Day 2: Trends in citizen input to the work of parliament,  Ms. María Luisa So...
Day 2: Trends in citizen input to the work of parliament, Ms. María Luisa So...wepc2016
 
Juguetes por edades
Juguetes por edadesJuguetes por edades
Juguetes por edadesGregorio5
 
Gestion Del Talento Ie 12 De Nov
Gestion Del Talento Ie 12 De NovGestion Del Talento Ie 12 De Nov
Gestion Del Talento Ie 12 De Novjcsanteserna
 
Tratamientos aptos para el paciente complejo
Tratamientos aptos para el paciente complejoTratamientos aptos para el paciente complejo
Tratamientos aptos para el paciente complejoVictor Montori
 

Destacado (20)

Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
 
Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
Java excepciones
Java excepcionesJava excepciones
Java excepciones
 
Resume_All
Resume_AllResume_All
Resume_All
 
Technical Info 15 wrestplank replacement
Technical Info  15  wrestplank replacementTechnical Info  15  wrestplank replacement
Technical Info 15 wrestplank replacement
 
ACHA. ADVANCED CHANGE AGENT
ACHA. ADVANCED CHANGE AGENTACHA. ADVANCED CHANGE AGENT
ACHA. ADVANCED CHANGE AGENT
 
Seabee eCourier Jan 7 2016
Seabee eCourier Jan 7 2016Seabee eCourier Jan 7 2016
Seabee eCourier Jan 7 2016
 
Sintesis informativa 18 de mayo 2016
Sintesis informativa 18 de mayo 2016Sintesis informativa 18 de mayo 2016
Sintesis informativa 18 de mayo 2016
 
Colorado Coach Connection September 20, 2011
Colorado Coach Connection September 20, 2011Colorado Coach Connection September 20, 2011
Colorado Coach Connection September 20, 2011
 
Masnuriyah
Masnuriyah Masnuriyah
Masnuriyah
 
2015 c3 online learning part 1 & 2
2015 c3 online learning part 1 & 22015 c3 online learning part 1 & 2
2015 c3 online learning part 1 & 2
 
Sevilla misterios y leyendas - fotos antiguas semana santa
Sevilla misterios y leyendas - fotos antiguas semana santaSevilla misterios y leyendas - fotos antiguas semana santa
Sevilla misterios y leyendas - fotos antiguas semana santa
 
Introduction to Web Server Security
Introduction to Web Server SecurityIntroduction to Web Server Security
Introduction to Web Server Security
 
Day 2: Trends in citizen input to the work of parliament, Ms. María Luisa So...
Day 2: Trends in citizen input to the work of parliament,  Ms. María Luisa So...Day 2: Trends in citizen input to the work of parliament,  Ms. María Luisa So...
Day 2: Trends in citizen input to the work of parliament, Ms. María Luisa So...
 
Juguetes por edades
Juguetes por edadesJuguetes por edades
Juguetes por edades
 
Gestion Del Talento Ie 12 De Nov
Gestion Del Talento Ie 12 De NovGestion Del Talento Ie 12 De Nov
Gestion Del Talento Ie 12 De Nov
 
Tratamientos aptos para el paciente complejo
Tratamientos aptos para el paciente complejoTratamientos aptos para el paciente complejo
Tratamientos aptos para el paciente complejo
 

Similar a Manejo de excepciones en Java

Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepcionesJuan Mancilla
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepcionesjbersosa
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepcionesjbersosa
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionssandropaul
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionsDeli_amor
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en javasandropaul
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
Excepciones
ExcepcionesExcepciones
Excepcioneskattybe
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2climancc
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeansedgar muñoz
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01cursobeta
 
Unit Testing - Trovit
Unit Testing - TrovitUnit Testing - Trovit
Unit Testing - TrovitJordi Gerona
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
Sistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasSistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasAgustin Ramos
 
Desarrollo de sistemas tolerantes a fallas
Desarrollo de sistemas tolerantes a fallasDesarrollo de sistemas tolerantes a fallas
Desarrollo de sistemas tolerantes a fallasSoftware Guru
 

Similar a Manejo de excepciones en Java (20)

Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepciones
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepciones
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
excepciones en java
excepciones en javaexcepciones en java
excepciones en java
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
Try catch
Try catchTry catch
Try catch
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
 
Unit Testing - Trovit
Unit Testing - TrovitUnit Testing - Trovit
Unit Testing - Trovit
 
Ejercicios3
Ejercicios3Ejercicios3
Ejercicios3
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
Sistemas Tolerantes a Fallas
Sistemas Tolerantes a FallasSistemas Tolerantes a Fallas
Sistemas Tolerantes a Fallas
 
Desarrollo de sistemas tolerantes a fallas
Desarrollo de sistemas tolerantes a fallasDesarrollo de sistemas tolerantes a fallas
Desarrollo de sistemas tolerantes a fallas
 

Más de John Ortiz

Axiomas de peano para nat
Axiomas de peano para natAxiomas de peano para nat
Axiomas de peano para natJohn Ortiz
 
Características de la información valiosa
Características de la información valiosaCaracterísticas de la información valiosa
Características de la información valiosaJohn Ortiz
 
Ejemplo 1 - Propiedades de las Operaciones entre Conjuntos
Ejemplo 1  - Propiedades de las Operaciones entre ConjuntosEjemplo 1  - Propiedades de las Operaciones entre Conjuntos
Ejemplo 1 - Propiedades de las Operaciones entre ConjuntosJohn Ortiz
 
Operaciones sobre Conjuntos
Operaciones sobre ConjuntosOperaciones sobre Conjuntos
Operaciones sobre ConjuntosJohn Ortiz
 
The Observer Pattern (Definition using UML)
The Observer Pattern (Definition using UML)The Observer Pattern (Definition using UML)
The Observer Pattern (Definition using UML)John Ortiz
 
TI en Las Organizaciones - Cadena de Valor - Actividades de Soporte
TI en Las Organizaciones - Cadena de Valor - Actividades de SoporteTI en Las Organizaciones - Cadena de Valor - Actividades de Soporte
TI en Las Organizaciones - Cadena de Valor - Actividades de SoporteJohn Ortiz
 
Ti en las organizaciones cadena de valor
Ti en las organizaciones   cadena de valorTi en las organizaciones   cadena de valor
Ti en las organizaciones cadena de valorJohn Ortiz
 
TI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TITI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TIJohn Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?John Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalJohn Ortiz
 
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalJohn Ortiz
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...John Ortiz
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryJohn Ortiz
 
Arquitectura empresarial resumen
Arquitectura empresarial   resumenArquitectura empresarial   resumen
Arquitectura empresarial resumenJohn Ortiz
 
Arquitectura empresarial para ingenieros de sistemas - Resumen
Arquitectura empresarial para ingenieros de sistemas  - ResumenArquitectura empresarial para ingenieros de sistemas  - Resumen
Arquitectura empresarial para ingenieros de sistemas - ResumenJohn Ortiz
 
Lactancia materna
Lactancia maternaLactancia materna
Lactancia maternaJohn Ortiz
 
Brigada de salud
Brigada de saludBrigada de salud
Brigada de saludJohn Ortiz
 

Más de John Ortiz (17)

Axiomas de peano para nat
Axiomas de peano para natAxiomas de peano para nat
Axiomas de peano para nat
 
Características de la información valiosa
Características de la información valiosaCaracterísticas de la información valiosa
Características de la información valiosa
 
Ejemplo 1 - Propiedades de las Operaciones entre Conjuntos
Ejemplo 1  - Propiedades de las Operaciones entre ConjuntosEjemplo 1  - Propiedades de las Operaciones entre Conjuntos
Ejemplo 1 - Propiedades de las Operaciones entre Conjuntos
 
Operaciones sobre Conjuntos
Operaciones sobre ConjuntosOperaciones sobre Conjuntos
Operaciones sobre Conjuntos
 
The Observer Pattern (Definition using UML)
The Observer Pattern (Definition using UML)The Observer Pattern (Definition using UML)
The Observer Pattern (Definition using UML)
 
TI en Las Organizaciones - Cadena de Valor - Actividades de Soporte
TI en Las Organizaciones - Cadena de Valor - Actividades de SoporteTI en Las Organizaciones - Cadena de Valor - Actividades de Soporte
TI en Las Organizaciones - Cadena de Valor - Actividades de Soporte
 
Ti en las organizaciones cadena de valor
Ti en las organizaciones   cadena de valorTi en las organizaciones   cadena de valor
Ti en las organizaciones cadena de valor
 
TI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TITI en las Organizaciones - Objetivos Estratégicos de las TI
TI en las Organizaciones - Objetivos Estratégicos de las TI
 
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
TI en las Organizaciones - C1 - Entorno y TI - ¿Cómo crea valor?
 
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Dominio Organizacional
 
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno OrganizacionalTI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
TI en las Organizaciones - C1 - Entorno y TI - Entorno Organizacional
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
 
Arquitectura empresarial resumen
Arquitectura empresarial   resumenArquitectura empresarial   resumen
Arquitectura empresarial resumen
 
Arquitectura empresarial para ingenieros de sistemas - Resumen
Arquitectura empresarial para ingenieros de sistemas  - ResumenArquitectura empresarial para ingenieros de sistemas  - Resumen
Arquitectura empresarial para ingenieros de sistemas - Resumen
 
Lactancia materna
Lactancia maternaLactancia materna
Lactancia materna
 
Brigada de salud
Brigada de saludBrigada de salud
Brigada de salud
 

Manejo de excepciones en Java

  • 1. AUTO APRENDIZAJE Excepciones en Java: NullPointerException: Especificación: public class NullPointerException extends RuntimeException ¿Cuándo Ocurre?: Esta excepción es lanzada por la JVM cuando se realiza alguna operación sobre un objeto o identificador null o se invoca algún método de ese objeto. ¿Cómo se evita?: En este ejemplo, la excepción NullPointerException es lanzada: 1. String f = null; 2. System.out.println("Esto causará que se dispare la excepción NullPointerException " + f.length()); Esta es la forma que se puede evitar que la excepción se dispare: 1. String f = null; 2. if(f !== null) 3. System.out.println("Esto causará que se dispare la excepción NullPointerException "+ f.length()); Ejemplo: 1. public class EjemploNullPointerException 2. { 3. public static void main( String[] args ) 4. { 5. Carro carro = null; 6. 7. if( carro != null ) 8. { 9. // cambia el color 10. carro.establecerColor( "Gris" ); 11. System.out.println( carro.obtenerColor() ); 12. } 13. else 14. { 15. System.out.println( "El identificador no hace referencia a ningún objeto. Es null" ); 16. } 17. } // fin del método main 18.} // fin de la clase Ejemplo
  • 2. 19. 20.class Carro 21.{ 22. private String color = "Negro"; 23. private String marca = "Chevrolet"; 24. 25. public void establecerColor( String c ) 26. { 27. c = color; 28. } // fin del método establecerColor 29. 30. public String obtenerColor() 31. { 32. return color; 33. } // fin del método obtenerColor 34.} // fin de la clase Carro Enlace al código fuente anterior: http://paste.ubuntu.com/704712/ ClassNotFoundException: Especificación: public class ClassNotFoundException extends Exception ¿Cuándo Ocurre?: Esta excepción es lanzada cuando una aplicación trata de cargar/encontrar una clase. ¿Cómo se evita?: En este ejemplo, la excepción ClassNotFoundException es lanzada: 1. public class EjemploClassNotFoundException 2. { 3. public static void main( String[] args ) 4. { 5. Moto moto = null; 6. 7. if( moto != null ) 8. { 9. // cambia el color 10. moto.establecerColor( "Gris" ); 11. System.out.println( moto.obtenerColor() ); 12. } 13. else 14. { 15. System.out.println( "El identificador no hace referencia a ningún objeto. Es null" ); 16. } 17. } // fin del método main 18.} // fin de la clase Ejemplo
  • 3. La salida en la línea de comandos: La solución a este problema podría ser: ○ Localizar la clase en el paquete correspondiente, o agregar el archivo jar que la contiene. ○ Crear y compilar el archivo de código fuente Java. ClassCastException: Especificación: public class ClassCastException extends RuntimeException ¿Cuándo Ocurre?: Esta excepción es lanzada cuando por Java cuando se intenta promocionar o convertir un objeto de una tipo de dato a otro.. ¿Cómo se evita?: En este ejemplo, la excepción ClassCastException es lanzada: import java.util.Vector; public class EjemploClassCastException { // punto de entrada de la aplicación public static void main(String[] args) { Vector v = new Vector(); int i = 10;
  • 4. Object obj = v.add(i); try { String y = (String)obj; v.add(y); } catch (ClassCastException e) { System.out.println("La clase a la que pertenece: " + obj.getClass().getName() ); e.printStackTrace(); } // fin de catch } // fin de main } // fin de la clase EjemploCastException Enlace: http://paste.ubuntu.com/704867/ Para evitar esta excepcion es necesario agregar Integer y = new Integer(( String ) obj) en lugar de String y = (String) obj: try { Integer y = new Integer((String)obj); v.add(y); } catch (ClassCastException e) { System.out.println("La clase a la que pertenece: " + obj.getClass().getName() ); e.printStackTrace(); } // fin de catch InputMismatchException: Especificación: public class InputMismatchException extends NoSuchElementException ¿Cuándo Ocurre?: Esta excepción es lanzada por un objeto Scanner para indicar que la entrada recibida por el usuario no coincide con el patrón del tipo esperado, o que la entrada (token) está por fuera del rango del tipo esperado.
  • 5. ¿Cómo se evita?: En este ejemplo, la excepción InputMismatchException es lanzada: public class EjemploInputMismatchException { public static void main( String args[] ) { Scanner scanner = new Scanner( System.in ); System.out.print( "Ingrese un número entero: " ); int entero = scanner.nextInt(); } // fin del método main } // fin de la clase EjemploInputMismatchException A continuación se incluye una aplicación que trata esta excepción y permite que el usuario pueda ingresar el número de nuevo: import java.util.InputMismatchException; import java.util.Scanner; public class EjemploInputMismatchException { public static void main( String args[] ) { Scanner scanner = new Scanner( System.in );
  • 6. boolean continuarCiclo = true; // determine if more input is needed do { try { System.out.print( "Ingrese un número entero: " ); int entero = scanner.nextInt(); continuarCiclo = false; // entrada satisfactoria } // end try catch ( InputMismatchException inputMismatchException ) { System.err.printf( "nExcepción: %s", inputMismatchException ); scanner.nextLine(); // System.out.println( "Usted debe ingresar un número.n" ); } // end catch } while ( continuarCiclo ); // fin del ciclo do...while } // fin de main } // fin de la clase EjemploInputMismatchException Enlace: http://paste.ubuntu.com/704884/ IllegalArgumentException:
  • 7. Especificación: public class IllegalArgumentException extends RuntimeException ¿Cuándo Ocurre?: Una excepción Java que puede ser lanzada deliberadamente por métodos que no son compatibles con los tipos de los parámetros. ¿Cómo se evita?: import java.lang.IllegalArgumentException; public class EjemploIllegalArgumentException { public static void main( String args[] ) { double[] numeros = new double[ 0 ]; System.out.printf( "Promedio: %.2fn", promedio( numeros ) ); } // fin de main public static double promedio( double [] arreglo ) throws IllegalArgumentException { if ( arreglo.length == 0 ) { throw new IllegalArgumentException(); } // fin de else else { double suma = 0.0; for ( int i = 0; i < arreglo.length; i++ ) suma += arreglo[ i ]; return suma / arreglo.length; } // fin de else } // fin del método promedio } // fin de la clase EjemploInputMismatchException FileNotFoundException: Especificación: public class FileNotFoundException extends IOException
  • 8. ¿Cuándo Ocurre?: Esta excepción será lanzada por los constructores de las clases FileInputStream, FileOutputStream, y RandomAccessFile cuando un archivo especificado en la ruta no existe. También será lanzada por estos constructores si el archivo existe pero algún motivo es inaccesible, por ejemplo cuando se hace un intento de abrir un archivo de sólo escritura para ser escrito. ¿Cómo se evita?: import java.io.*; public class EjemploFileNotFoundException { public static FileInputStream flujoEntrada(String nombreArchivo) throws FileNotFoundException { FileInputStream fis = new FileInputStream(nombreArchivo); return fis; } // fin del método public static void main(String args[]) { FileInputStream fis = null; String nombreArchivo = "C:datos.txt"; // get file input stream 1 try { fis = flujoEntrada( nombreArchivo ); } catch ( FileNotFoundException ex ) { System.out.println("Archivo no encontrado"); } // fin de catch } // fin de main } // fin de la clase
  • 9. Enlace: http://paste.ubuntu.com/705150/ Excepciones encadenas: Ejemplo práctico de cómo tratar excepciones encadenadas. Este tipo de excepciones es el resultado de un serie de lanzamientos de irregularidades en métodos. Cada método se encarga de atrapar la excepción producida por el método que desde su implementación se invoca. Finalmente, la pila de excepciones se encarga de mostrar un volcado de la cadena. public class UsandoExcepcionesEncadenadas { public static void main( String args[] ) { try { metodo1(); } // end try catch (Exception exception) { exception.printStackTrace(); } // end catch } // main // invoca a metodo2; private static void metodo1() throws Exception { try { metodo2(); // call metodo2 } // fin de try catch (Exception exception) {
  • 10. throw new Exception( "Excepción lanzada en metodo1", exception ); } // fin de catch } // fin de metodo1 // invoca a metodo3 private static void metodo2() throws Exception { try { metodo3(); // } // fin de try catch (Exception exception) { throw new Exception( "Excepción lanzada en metodo2", exception ); } // fin de catch } // fin de metodo2 // Excepción lanzada de retorno al método metodo2 private static void metodo3() throws Exception { throw new Exception( "Excepción lanzada en metodo3" ); } // fin de metodo3 } // fin de la clase UsandoExcepcionesEncadenadas Enlace: http://paste.ubuntu.com/705201/