programaci n orientada a objetos
Download
Skip this Video
Download Presentation
Programación Orientada a Objetos

Loading in 2 Seconds...

play fullscreen
1 / 29

Programación Orientada a Objetos - PowerPoint PPT Presentation


  • 187 Views
  • Uploaded on

Programación Orientada a Objetos. Temario Excepciones Definición. Funcionalidad Tipos de Excepciones API de las Excepciones Captura de Excepciones (Try – Catch – Finally ) Clase Throwable Lazamiento de Excepciones ( Throw – Throwable ) Excepciones Definidas por el Usuario.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programación Orientada a Objetos' - khan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programaci n orientada a objetos
Programación Orientada a Objetos

Temario

  • Excepciones
    • Definición.
    • Funcionalidad
    • Tipos de Excepciones
    • API de las Excepciones
    • Captura de Excepciones (Try – Catch – Finally)
    • Clase Throwable
    • Lazamiento de Excepciones (Throw – Throwable)
    • Excepciones Definidas por el Usuario
slide2

Excepciones

  • ¿Que pasa si tu te diriges a un lado, pero en medio del camino tienes un inconveniente ?
  • ¿Qué haces si estas trabajando manejando una maquinaria, pero de pronto esta empieza a fallar?
  • ¿Qué pasa si haces una operación matemática INCALCULABLE?

He aquí el uso practico de las

‘Excepciones’

slide3

Excepciones

Definición:

  • Real:
    • Una excepción es predefinir una solución a un posible problema que pueda pasar
    • Una excepción es una exclusión de la regla.
  • Programación:
    • Es un código predefinido que solo se ejecuta siempre y cuando suceda algo especifico (usualmente problemas fuera del flujo de control específicos).
    • Las excepciones son los métodos que permiten ‘Capturar’ errores en tiempo real, y ejecutar un código ‘opcional’.
slide4

Excepciones

Uso de excepciones:

(Funcionalidad)

  • Permite capturar problemas fuera de flujo en tiempo real.
  • Permite evitar posibles problemas de una aplicación, haciendo que la aplicación no termine forzadamente en una ejecución.
  • Cuando se ejecuta una excepción, esta misma toma el control de la situación, hasta que termina de controlarla y vuelve a donde se origino el problema.
  • Se puede capturar excepciones tanto muy especificas, como generales.
  • Es como una medida de “prevención de riesgos”.
slide5

Excepciones

Tipos de excepciones

  • Existen varios tipos fundamentales de excepciones:
    • Error: Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas.
    • Exception: Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecución.
    • RuntimeException: Excepciones que se dan durante la ejecución del programa.
slide6

Excepciones

Tipos de excepciones

  • De las excepciones fundamentales, cada una tiene sus excepciones derivadas (o especificas).
  • Alguna de las cuales son:
  • Error:
    • OutOfMemoryError: El lector ha agotado la memoria.
    • InternalError: Error interno en tiempo de ejecución.
    • UnknownError: Grave error desconocido.
    • VerifyError: Se ha producido un error de verificación al cargar una clase.
    • (etc …)
slide7

Excepciones

Tipos de excepciones

  • Exception:
    • IOException: Excepciones relacionados con la entrada/salida de programas
      • FileNotFoundException: Excepcion cuando no se encuentra un archivo relacionado.
      • MalFormedURLException: Excepcion que se genera cuando una la ubicación de un archivo/pagina (URL) es incorrecta, o esta mal redactada.
      • (etc …)
slide8

Excepciones

Tipos de excepciones

  • Exception:
    • RunTimeException:
      • NullPointerException: Se ha usado una referencia null para acceder a un campo.
      • ArithmeticException: Error de cálculo (como división por cero...).
      • ClassCastException: Intento de conversión inválida.
      • NegativeArraySizeException: Intento de creación de un vector de tamaño negativo.
      • (etc …)
slide9

Excepciones

Sintaxis de

excepciones:

  • En JAVA, para manejar uso de excepciones en un bloque de código, se usan los TRY, CATCH y FINALLY.
  • Try:
    • try viene del ingles ‘Tratar’, y es donde se encapsula el código donde posiblemente puede llamarse una excepción por ejecuciones fuera del flujo esperado.
  • Si una cierta cantidad de código esta fuera de un TRY, este código esta libre de que llame una excepción.
slide10

Excepciones

Sintaxis de

excepciones:

  • Catch:
    • Catch viene del ingles ‘Captar’, y es el lugar donde se listan las excepciones que se van a ‘tratar’ (try) junto con las ordenes de cada excepción. Las excepciones SIEMPRE se listan de la mas especifica, a las mas general.
slide11

Excepciones

Sintaxis de

excepciones:

  • Finally:
    • Finally viene del ingles ‘Finalmente’, y es donde cuando un código fue tratado(try) y captado las excepciones(catch), con FINALLY va hacer una serie de instrucción Independiente si se llama una excepción o no.
    • Usualmente se usa esta clausula para finalizar conexiones, cerrar archivos, o cierre de aplicaciones.
slide12

Excepciones

Ejemplo Excepciones:

(...)

publicstaticvoidmain(String[]args)

{

// Inicio de la aplicación

Servidor s = new Servidor();

Scanner teclado = new Scanner();

s.abrirConexion();

try

{

int numero1=100;

int numero2 = teclado.nextInt();

int resultado = numero1 / numero2;

System.out.println("El resultado es: "+resultado);

s.guardarResultado(resultado);

}

Catch(OutOfMemoryError e)

{

System.out.println("No hay memoria para almacenar");

}

catch(IOException e)

{

e.prinStackTrace();

}

Catch(ArithmeticExceptionae)

{

System.out.println("Error Matematico, no hay RESULTADO");

}

Finally

{

s.cerrarConexion();

}

}

(...)

slide13

Excepciones

Ejemplo Excepciones:

catch(ArithmeticException e)

{

System.out.println(“Problemas al poder calcular");

}

catch(ClassCastException ex)

{

System.out.println(“Error al transformar a numero");

}

slide14

Excepciones

Ejemplo Excepciones:

catch(ClassCastException e)

{

System.out.println("No se puede transformar el valor");

}

catch(NullPointerExceptione)

{

System.out.println("No pueden haber NULOS");

}

catch(ArrayIndexOutOfBoundsException ex)

{

System.out.println("has intentado dar valores FUERA DEL ARREGLO");

}

slide15

Excepciones

Lazamiento de Excepciones (Throw – Throwable)

  • Las excepciones pueden lanzarse en cualquier momento con Throw
  • Throw es controlado por la clase padre de la llamada.
  • Throw permite agregar nuevas funcionalidades de validaciones
  • Para controlar una excepcion en el codígo no es necesaria controlarla en el main.
  • Throw permite utilizar excepciones personalizadas
slide16

Excepciones

Ejercicio Resuelto

  • Lanzar un error cuando un numero sea negativo.
    • Crear un método que reciba como parámetro un número y agregamos la clausula throwsException para que lance la excepción a la clase que la llamo.
    • Crear en main la recepcion de un numero para la luego llamar el metodo validar todo dentro de un try-catch(Exception p)
slide17

Excepciones

Ejercicio Resuelto

  • Crear un método que reciba como parámetro un número y agregamos la clausula throwsException para que lance la excepción a la clase que la llamo.

public static void validar (int i) throws Exception

{

if(i<0)

{

throw new Exception("El Numeroesnegativo");

}

}

slide18

Excepciones

Ejercicio Resuelto

  • Crear en main la recepcion de un numero para la luego llamar el metodo validar todo dentro de un try-catch(Exception p)

packageexcepcionesthrow;

importjavax.swing.JOptionPane;

publicclassMain {

publicstaticvoidmain(String[] args) {

try

{

int numero = (Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero")));

validar(numero);

}

catch(Exception p)

{

JOptionPane.showMessageDialog(null, p.getMessage());

}

}

publicstaticvoid validar (int i) throwsException

{

if(i<0)

{

throw new Exception("El Numero es negativo");

}

}

}

slide19

Excepciones

Ejercicio Resuelto

  • Conclusiones
    • Clausula throws dice cual es la clase de tipo Excepcion que será lanzada
    • Clausula throwenvia la excepción hacia la clase que la llamo
    • Permite personalizar tus excepciones en tiempo de ejecución

Archivo:

slide20

Excepciones

Ejercicios Propuestos

  • Crear un método que permita validar si el valor ingresado en un JOptionPane es Numerico.
  • Crear un método que permita validar si el valor ingresado en un JOptionPane es de tipo Carácteres.
  • Crear un método que permita validar si valor ingresado esta dentro del rango de 1 a 100
slide21

Excepciones

API de las Excepciones

slide22

Excepciones

Clase Throwable

  • Superclase de todas las clases de excepción.
  • Dos tipos heredados:
    • Error. Representa los errores del sistema y de compilación.
      • No se captura salvo en ocasiones especiales.
    • Exception. Tipo básico que puede lanzarse desde cualquier método de la biblioteca Java.
      • Es el utilizado para capturar y crear nuevas excepciones.
slide23

Excepciones

Clase Throwable

  • Todas las excepciones tienen como clase base la clase Throwable, que está incluida en el paquete java.lang, y sus métodos son:
    • Throwable( String mensaje ); Constructor. La cadena es opcional
    • ThrowablefillInStackTrace(); Llena la pila de traza de ejecución.
    • StringgetLocalizedMessage(); Crea una descripción local de este objeto.
    • StringgetMessage(); Devuelve la cadena de error del objeto.
    • voidprintStackTrace( PrintStream_o_PrintWriter s ); Imprime este objeto y su traza en el flujo del parámetro s, o en la salida estándar (por defecto).
    • StringtoString(); Devuelve una breve descripción del objeto.
slide24

Excepciones

Ejercicio Resuelto

  • Crear una clase a partir de Exception que maneje excepciones de números negativos
    • Crear clase PersonalizarException que herede de Exception
      • Crear un constructor que reciba un string
      • Mandar un mensaje al constructor de Exception con el string del constructor de PersonalizarException
    • Crear un metodo en el main que arroje el error llamado validar
        • Crear condición de numero negativo y lanzar throw new con la clase PersonalizarException y el mensaje personalizado.
    • Crear Flujo del Programa en donde reciba el numero y luego llame al metodo validar todo esto debe estar rodeado de un try-catch(PersonalizarException p)
slide25

Excepciones

Ejercicio Resuelto

  • Crear clase PersonalizarException que herede de Exception
    • Crear un constructor que reciba un string
    • Mandar un mensaje al constructor de Exception con el string del constructor de PersonalizarException

package excepciones;

publicclassPersonalizarExceptionextendsException {

publicPersonalizarException(String mensaje)

{

super(mensaje);

}

}

slide26

Excepciones

Ejercicio Resuelto

  • Crear un metodo en el main que arroje el error llamado validar
    • Crear condición de numero negativo y lanzar throw new con la clase PersonalizarException y el mensaje personalizado.

publicclassMain {

publicstaticvoidmain(String[] args) {

}

publicstaticvoid validar (int i) throwsPersonalizarException

{

if(i<0)

{

throw new PersonalizarException("El Numero es negativo");

}

}

}

slide27

Excepciones

Ejercicio Resuelto

package excepciones;

importjavax.swing.JOptionPane;

publicclassMain {

publicstaticvoidmain(String[] args) {

try

{

int numero = (Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero")));

validar(numero);

}

catch(PersonalizarException p)

{

JOptionPane.showMessageDialog(null, p.getMessage());

p.printStackTrace();

}

}

publicstaticvoid validar (int i) throwsPersonalizarException

{

if(i<0)

{

throw new PersonalizarException("El Numero es negativo");

}

}

}

slide28

Excepciones

Ejercicio Resuelto

Conclusiones

  • En el momento de ejecutar el método validar se produce un salto en el código por la excepción hacia el catch
  • Se pueden cambiar los mensajes arrojados del programa por mensajes propios
  • En el catch se pudo crear una excepción propia PersonalizarException

Archivo:

slide29

Excepciones

Ejercicios Propuestos

  • Utilizando PersonalizarException controlar mensajes personalizados:
    • División por Cero
    • Casting Invalido
    • Creación de arreglo con indice negativo
    • Acceso a arreglo fuera de indice
ad