Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación."

Transcripción

1 TEMA 7: ERRORES 1. CONCEPTOS PREVIOS Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación. De ejecución: Son las excepciones que aparecen en tiempo de ejecución como por ejemplo la incapacidad de abrir la base de datos. De compilación: Son errores que Visual Studio nos señala al compilar la página. Suelen ser faltas semánticas o sintácticas en el código. Lógicos: Cuando el resultado aparecido no es el esperado. Por ejemplo cuando cargamos un usuario inexistente. No dará error, pero no aparece el registro esperado. 2. ERRORES EN LAS CLASES INDEPENDIENTES Siguiendo la guía de programación del de la UA tenemos la obligación de incorporar una propiedad pública llamada Debug. Esta propiedad de solo lectura incorporará los mensajes de error o de atención de los métodos. Será solo útil para el programador. ERRORES LÓGICOS Así, si por ejemplo, si se intenta cargar un usuario vacio Debug recogerá el mensaje no se ha encontrado al usuario. Esto se envía como un aviso (un warning) y será responsabilidad de la página apsx que haga uso de este método el que gestione el aviso. La clase no lanzará excepción. Ejemplo: Supongamos estas 2 clases: using System; public class ClaseAnimal private string _debug; public int Identificador get; set; public string Nombre get; set; public string Debug get return _debug; public ClaseAnimal Carga(int Animal) ClaseAnimal MiAnimal = new ClaseAnimal(); MiAnimal = ClaseAnimales.Todo().Find( delegate(claseanimal ca) return (ca.identificador== Animal); ); //Si encuentra animal devuelvelo if (MiAnimal!= null) return MiAnimal; else Tema 4 / Página 1

2 //Si no Debug toma valor y devuelvo un animal sin datos _debug += "No se ha encontrado el animal"; return new ClaseAnimal Identificador=0, Nombre="" ; using System.Collections.Generic; public static class ClaseAnimales public static List<ClaseAnimal> Todo() ClaseAnimal Animal = new ClaseAnimal(); List<ClaseAnimal> Animales = new List<ClaseAnimal> new ClaseAnimal Identificador=1, Nombre="Elefante", new ClaseAnimal Identificador=2, Nombre="Tigre" ; return (Animales); En este ejemplo un aspx como el que sigue: <form id="form1" runat="server"> <div> <asp:label ID="Label1" runat="server" Text="Label"></asp:Label> <asp:textbox ID="TextBox1" runat="server" ontextchanged="textbox1_textchanged"></asp:textbox> </div> </form> Con este cs asociado protected void TextBox1_TextChanged(object sender, EventArgs e) ClaseAnimal MiAnimal = new ClaseAnimal(); string nombre = MiAnimal.Carga( int.parse(textbox1.text)).nombre; //La variable debug me sirve para determinar si todo ha ido ok if (MiAnimal.Debug!= null) Label1.Text = MiAnimal.Debug; else Label1.Text = nombre; Dará como resultado una página html que buscará un animal por su código. En caso de no encontrarlo pondrá el mensaje que arrastra del cs de animal. ERRORES DE EJECUCIÓN Otra posibilidad es que tengamos previsión que en la clase se dé un error. Por ejemplo que no se encuentre un fichero a leer o que la base de datos esté caída. Si esto no Tema 4 / Página 2

3 funciona la aplicación no podrá continuar. En este caso el Debug recogerá algo como No se ha encontrado el fichero buscado en y después lanzará una excepción con un texto tal como fichero no encontrado. Esta excepción tendrá que ser tratada en la página aspx. Para controlar este tipo de errores se usa -catch-finally Cuando queramos controlar una parte del código que puede producir un error lo incluimos dentro del bloque, si se produce un error, éste lo podemos detectar en el bloque catch, por último, independientemente de que se produzca o no una excepción, podemos ejecutar el código que incluyamos en el bloque finally. Cuando creamos una estructura de control de excepciones no estamos obligados a usar los tres bloques, aunque sí el primero. Podemos crear un "manejador" de excepciones usando los tres bloques, usando y catch o usando y finally. Bloque En este bloque incluiremos el código en el que queremos comprobar los errores. En el momento que se produzca el error se usará (si hay) el código del bloque catch. Bloque catch Si se produce una excepción, ésta la capturamos en un bloque catch. En el bloque catch podemos indicar que tipo de excepción queremos capturar, para ello usaremos una variable de tipo Exception, la cual puede ser del tipo de error específico que queremos controlar o de un tipo genérico. // código para trabajar con ficheros, etc. catch(system.io.ioexception ex) // el código a ejecutar cuando se produzca ese error Si nuestra intención es capturar todos los errores que se produzcan podemos usar la clase Exception como tipo de excepción a capturar. Es la más genérica de todas las clases para manejo de excepciones, por tanto capturará todas las excepciones que se produzcan. // código que queremos controlar catch(system.exception ex) // el código a ejecutar cuando se produzca cualquier error La variable indicada en el bloque catch (ex) la podemos usar para mostrar un mensaje al usuario o para obtener información extra sobre el error. Tema 4 / Página 3

4 Pero si no vamos usar la variable indicada en el bloque Catch, pero queremos que no se detenga la aplicación cuando se produzca un error, podemos hacerlo de esta forma: // código que queremos controlar catch // el código a ejecutar cuando se produzca cualquier error Varias capturas de errores en un mismo bloque /catch En un mismo /catch podemos capturar diferentes tipos de errores, para ello podemos incluir varios bloques catch, cada uno de ellos con un tipo de excepción diferente. Es importante tener en cuenta que cuando se produce un error y usamos varios bloques catch, el CLR de.net buscará la captura que mejor se adapte al error que se ha producido, pero siempre lo hará examinando los diferentes bloques catch que hayamos indicado empezando por el indicado después del bloque, por tanto deberíamos poner las más genéricas al final, de forma que siempre nos aseguremos de que las capturas de errores más específicas se intercepten antes que las genéricas. En el siguiente código capturamos un error específico y también uno genérico, con idea de que tengamos siempre controlado cualquier error que se produzca: // código que queremos controlar catch(formatexception) // captura de error de formato catch(exception ex) // captura del resto de errores Bloque finally En este bloque podemos indicar las instrucciones que queremos que se ejecuten, se produzca o no una excepción. De esta forma nos aseguramos de que siempre se ejecutará un código, por ejemplo para liberar recursos, se haya producido un error o no. Nota: Tema 4 / Página 4

5 Hay que tener en cuenta de que incluso si usamos return dentro de un bloque de control de errores, se ejecutará el código indicado en el bloque finally. Ejemplo: using System; public class Util private string _debug; public string Debug get return _debug; public string Lee() const string fic string texto; System.IO.StreamReader sr = new System.IO.StreamReader(fic); texto = sr.readtoend(); sr.close(); catch (Exception e) _debug += "Fichero " + fic + " no encontrado " + e.message; throw new Exception("Fichero no encontrado"); finally //Para cuando necesite cerrar algo return texto; Y en el cs asociado a nuestro aspx pondremos: protected void Page_Load(object sender, EventArgs e) Util miutil = new Util(); string texto = miutil.lee(); Label1.Text = texto; catch throw new Exception ("ERROR " + miutil.debug); Pero evitaremos que de un error de color amarillo en la pantalla del usuario. Por ello trataremos al error según se explica en el punto siguiente. Tema 4 / Página 5

6 3. ERRORES EN CLASES CS ASOCIADOS A ASPX Para tratar ambos errores (lógicos y de ejecución) vamos a seguir las siguientes pautas: 1.- Incorporamos la referencia ClaseErrores.dll de la carpeta ToolsNet/DLL. 2.- Incorporamos global.aspx y ponemos en la segunda línea: <%@ Import Namespace="ua" %> Y en la sección de application_error: void Application_Error(object sender, EventArgs e) // Código que se ejecuta al producirse un error no controlado ClaseErrores mierror = new ClaseErrores(true); // Si ponemos false no se ofrecerá información sobre la pila // Si ponemos ClaseErrores(true, true) obligamos a enviar el error por correo. 3.- Como estamos en un entorno local deberemos crear una carpeta ToolsNet dentro de nuestro sitio web. Dentro pondremos un fichero ruta.xml. Ese fichero contendrá: <?xml version="1.0" encoding="utf-8"?> <ERRORES actualizado="8/24/2009"> <PATH path="~" descripcion="ejemplo" id="9"> < idhijo="5">direccion.correo@ua.es</ > </PATH> </ERRORES> ERRORES DE EJECUCIÓN Ahora si se produce un error de ejecución como throw new Exception ("ERROR " + miutil.debug); se pintará en pantalla un mensaje como: Tema 4 / Página 6

7 En caso de estar en un entorno de producción (o de haber obligado a enviar el error por correo) ese mensaje se enviará al correo indicado y en pantalla se mostrará el típico Error inesperado. ERRORES LÓGICOS Podemos generar errores cuando algo inesperado ocurra, pero que no hace falta que se corte el flujo del programa. Por ejemplo, si el usuario que se está buscando no se encuentra se puede indicar con un mensaje. Y nos puede interesar que ese error se envíe por correo. using System; using ua; public partial class _Default : System.Web.UI.Page ClaseErrores mierror = new ClaseErrores(); protected void TextBox1_TextChanged(object sender, EventArgs e) ClaseAnimal MiAnimal = new ClaseAnimal(); string nombre = MiAnimal.Carga(int.Parse(TextBox1.Text)).Nombre; //El programa continua y envía error ControlError.PararEnviaError = false; //La variable debug me sirve para determinar si todo ha ido ok if (MiAnimal.Debug!= null) //Determina si el error se envia por correo mierror.envio = true; //Se envia correo y se para la ejecución del programa mierror.enviaerror( "El usuario esta buscando " + TextBox1.Text, -1000); else Label1.Text = nombre; Si añadimos ControlError.PararEnviaError = false; convertimos el error en una aviso, es decir, que el error no saldrá en la ejecución del programa pero se enviará por correo al programador. Tema 4 / Página 7

8 4. ENLACES INTERNET Sobre manejo de excepciones: Sobre el componente claseerrores.dll 5. EJERCICIO Incorporar la gestión de errores en la aplicación. Se proponen estos pasos: 1.- Incorporar la librería ClaseErrores.dll de ToolsNet. 2.- Copiar a una carpeta ToolsNet de nuestro sitio web ruta.xml y modificar el correo electrónico. 3.- Incorporar un global.aspx y arreglar el application_error. 4.- En claselocalizaciones incorporar una propiedad de solo lectura Debug. Controlar los posibles errores de conexión de base de datos. 5.- En claseusuario incorporar una propiedad de solo lectura Debug. Controlar posibles errores de conexión de base de datos, de no localización de un usuario, de no poder insertar un usuario y de no poder borrarlo. 6.- En el cs asociado al aspx mostrar estos errores en ContentPlaceHolderNoticias. Estos errores serán sensibles al idioma. 7.- En claselocalizaciones incorporar una propiedad de solo lectura Debug. Controlar los posibles errores de conexión de base de datos. Tema 4 / Página 8

TEMA 10: Lo que NO hay que hacer

TEMA 10: Lo que NO hay que hacer TEMA 10: Lo que NO hay que hacer Introducción...1 Mezclar módulos...1 No crear una estructura de clases...3 Insertar la logica en los aspx...3 Gestionar los eventos en Page_Load...3 Utilizar Response.Write...4

Más detalles

Controlando los errores que podrían producirse «afelipelc Blog

Controlando los errores que podrían producirse «afelipelc Blog afelipelc.xochiltepec.com.mx http://afelipelc.xochiltepec.com.mx/2010/10/controlando-los-errores-que-podrian-producirse/ Controlando los errores que podrían producirse «afelipelc Blog Cuando probamos la

Más detalles

Trabajando con bases de datos. ClaseOracleBD

Trabajando con bases de datos. ClaseOracleBD Trabajando con bases de datos. ClaseOracleBD Índice de contenido Archivo de configuración...1 Agregar una cadena de conexión a Web.config con un control de origen de datos...1 Utlizando un Control SQLDataSource...1

Más detalles

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C. CAPÍTULO 8 EXCEPCIONES 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Cómo se controlan los posibles errores que ocurran durante la ejecución de una aplicación? Un programador, puede

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que

Más detalles

Tema 1: Análisis y Diseño de la Aplicación

Tema 1: Análisis y Diseño de la Aplicación Tema 1: Análisis y Diseño de la Aplicación Índice de contenido Introducción...1 Diseñador de clases...1 Creación de nuevos tipos...2 Visualización y modificación de tipos existentes...5 Relaciones entre

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte I de III

Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte I de III Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte I de III Por Martin Marquez Introducción Durante los últimos años las herramientas de desarrollo para

Más detalles

DESARROLLO DE APLICACIONES DISTRIBUIDAS CON.NET: SERVICIOS WEB EN.NET

DESARROLLO DE APLICACIONES DISTRIBUIDAS CON.NET: SERVICIOS WEB EN.NET Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C. CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?

Más detalles

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11 Página 1 de 11 GUIA N 11 - DESARROLLO DE SOFTWARE A TRES CAPAS Objetivo: Desarrollar una aplicación de software con tres capas (Presentación Lógica Persistencia) donde se establezca una conexión con una

Más detalles

Excepciones e hilos. Acceso a la red - Ejercicios

Excepciones e hilos. Acceso a la red - Ejercicios Excepciones e hilos. Acceso a la red - Ejercicios Índice 1 Captura de excepciones (*)... 2 2 Lanzamiento de excepciones...2 3 Chat para el móvil... 3 1. Captura de excepciones (*) En el proyecto java-excepciones

Más detalles

GUÍA DE TRABAJO N 7 LENGUAJE C# Educación Media Fortalecida Programación de Software Grado 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO N 7 LENGUAJE C# Educación Media Fortalecida Programación de Software Grado 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: FORM DE INICIO, FORM DE SEGURIDAD Y CARGUE DE LISTADOS EN COMBOBOX USANDO EL LENGUAJE C# Objetivo: Programar ingreso a una aplicación realizando verificación de usuarios/contraseñas

Más detalles

UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión

UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión UD 4 GESTIÓN DE ERRORES Pedro J. Ponce de León Versión 20111005 Gestión Errores Objetivos Saber utilizar las sentencias de control de excepciones para observar, indicar y manejar excepciones, respectivamente.

Más detalles

TEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6 POO

TEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6 POO TEMA 4 GESTIÓN DE ERRORES Cristina Cachero, Pedro J. Ponce de León 1 Sesión (1.5 horas) Versión 0.6 POO Gestión Errores Objetivos Saber utilizar try, throw y catch para observar, indicar y manejar excepciones,

Más detalles

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: FORM DE INICIO, SEGURIDAD Y LISTADOS EN COMBOX - LENGUAJE C# Objetivo: Programar el ingreso a una aplicación realizando verificación de usuarios /contraseñas y cargar listados de desde

Más detalles

Tema 4. Excepciones en Java

Tema 4. Excepciones en Java Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer

Más detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

GUÍA DE TRABAJO GRADO 11. Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 5. Tema: VALIDACIONES DE CAMPOS - LENGUAJE C#

GUÍA DE TRABAJO GRADO 11. Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 5. Tema: VALIDACIONES DE CAMPOS - LENGUAJE C# Página 1 de 5 Objetivo: Tema: VALIDACIONES DE CAMPOS - LENGUAJE C# Realizar validaciones de campos vacíos y de tipos de datos en una I.G.U utilizando el lenguaje de Programación C# I. VALIDACIÓN DE CAMPOS

Más detalles

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA MODULO COMÚN DE ALMACENAMIENTO TEMPORAL DE SOLICITUDES (MCAT) MANUAL DE USO Página 2 de 37 ÍNDICE ÍNDICE...2 1. CONTROL DEL DOCUMENTO...3 1.1. HISTÓRICO DE REVISIONES...3 2. INTRODUCCIÓN...4 3. CLASES

Más detalles

TEMA 6: Internacionalización de aplicaciones

TEMA 6: Internacionalización de aplicaciones TEMA 6: Internacionalización de aplicaciones Índice de contenido Introducción...1 Identificadores estándar de idioma...2 Leer el idioma del navegador...2 Acceso a recursos locales y globales...3 Establecer

Más detalles

INSTITUTO TECNOLÓGICO DE TIJUANA

INSTITUTO TECNOLÓGICO DE TIJUANA INSTITUTO TECNOLÓGICO DE TIJUANA SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN SEMESTRE AGOSTO-DICIEMBRE 2013 ING. EN SISTEMAS COMPUTACIONALES FUNDAMENTOS DE PROGRAMACION 2SC1 Otros 1 UNIDAD

Más detalles

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica

Más detalles

TEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones

TEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones TEMA 8 Excepciones en Java Manejo de Excepciones Cuando un programa Java viola las restricciones semánticas del lenguaje (se produce un error), la máquina virtual Java comunica este hecho al programa mediante

Más detalles

Creación de un sistema ABC

Creación de un sistema ABC Creación de un sistema ABC Altas - Bajas - Cambios Generalidades de código -SQL Server 2005 Express Ed. -Microsoft Visual C# 2008 Por: Juan Francisco González Reyes 07230471 ITSL Durango, México Cómo hacer

Más detalles

Programación orientada a objetos. Capítulo 12 Manejo de errores

Programación orientada a objetos. Capítulo 12 Manejo de errores Programación orientada a objetos Capítulo 12 Manejo de errores Conceptos Programación a la defensiva Anticiparse a lo que podría ir mal Lanzamiento y tratamiento de excepciones Aserciones Causas de situaciones

Más detalles

Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña

Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña Presentación Programación Orientada a Objetos :: Prof. Yeniffer Peña Utiliza las excepciones java. Una excepción es una condición anormal que se produce en una porción de código durante su ejecución. Es

Más detalles

Programación en Java. Instructor:

Programación en Java. Instructor: Instructor: Lección 5: Manejo de Excepciones 1. Creando Excepciones 2. El estatuto throw 3. La capsula throws 4. Try, catch y finally 5. Cuando usar excepciones Excepciones Una excepción es un problema

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...

Más detalles

04.01.01 Introducción a ASP.NET

04.01.01 Introducción a ASP.NET 04.01.01 Introducción a ASP.NET Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Objetivos Conocer los fundamentos de ASP.NET Saber crear una aplicación web ASP.NET

Más detalles

Guia#12: Tema: Archivos en C#.

Guia#12: Tema: Archivos en C#. Guia#12: Tema: Archivos en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Conocer la forma de transferencia de información en C#. Aprender las operaciones

Más detalles

Excepciones. Excepciones

Excepciones. Excepciones Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 GUIA N 6 - VECTORES E INTERFAZ GRAFICA DE USUARIO - LENGUAJE C# Objetivo: Realizar aplicaciones con arreglos Unidimensionales (Vectores) en interfaces graficas de usuario usando el lenguaje

Más detalles

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar Introducción El alumno creará cuatro programas en java que manejen control de flujo mediante las sentencias de bucle while y do/while,

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de

Más detalles

Práctica : Creación y uso de métodos

Práctica : Creación y uso de métodos Métodos y Parámetros 1 Práctica : Creación y uso de métodos Objetivos Al final de esta práctica, usted será capaz de: Crear y hacer llamadas a métodos con y sin parámetros. Utilizar distintos mecanismos

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Manejo de Excepciones

Manejo de Excepciones Manejo de Excepciones M. Consuelo Franky Julio Carreño Pontificia Universidad Javeriana 1 Temario Captura de excepciones Excepciones estándares Cómo provocar una excepción Cómo definir nuevas excepciones

Más detalles

Ejercicios de tratamiento de errores

Ejercicios de tratamiento de errores Índice 1 Captura de excepciones (0.5 puntos)...2 2 Lanzamiento de excepciones (0.5 puntos)... 2 3 Excepciones como tipos genéricos en la aplicación filmotecas(0.5 puntos)...4 4 Excepciones anidadas en

Más detalles

Lenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

Lenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles Lenguaje Java Sesión 3: Tratamiento de errores 2012-2013 Depto. Ciencia de la Computación e IA Índice Excepciones Captura de excepciones Propagación de excepciones Nested exceptions Errores en tiempo de

Más detalles

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos

Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Creando CRUD en PHP: operaciones básicas para la gestión de bases de datos Cualquier portal web utiliza algún sistema de base de datos para almacenar la información que luego mostrará en sus páginas. Para

Más detalles

TEMA 4: FLUJO DE UNA APLICACIÓN

TEMA 4: FLUJO DE UNA APLICACIÓN TEMA 4: FLUJO DE UNA APLICACIÓN 1. EVENTOS EN ASP.NET Los eventos en ASP.NET se clasifican en tres grupos: (1) Eventos a nivel de aplicación. Son eventos globales de nuestra web, como pueden ser el inicio

Más detalles

Java Optional ifpresent y como utilizarlo

Java Optional ifpresent y como utilizarlo Hoy vamos a hablar de Java Optional ifpresent. Cuando trabajamos con el tipo Optional conseguimos mejoras a la hora de trabajar con valores nulos. Veamos un ejemplo sencillo imaginemos que tenemos una

Más detalles

Manejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González

Manejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación

Más detalles

Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09 Errores y excepciones (I) Ingeniería Informática Universidad Carlos III de Madrid Excepciones en VB.NET Error: Evento que se produce durante la ejecución de un programa, provocando una interrupción en

Más detalles

Solución al Examen de Fundamentos de Computadores y Lenguajes

Solución al Examen de Fundamentos de Computadores y Lenguajes Solución al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2006 1) Se dispone de la siguiente clase enumerada. Escribir un método,

Más detalles

Ejercicios de tratamiento de errores

Ejercicios de tratamiento de errores Índice 1 Captura de excepciones (0.5 puntos)...2 2 Lanzamiento de excepciones (1 punto)... 2 3 Excepciones anidadas en la aplicación filmotecas (1.5 puntos)...3 1. Captura de excepciones (0.5 puntos) En

Más detalles

Manejo de errores: Excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos

Manejo de errores: Excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación de

Más detalles

Sentencias de control de flujo

Sentencias de control de flujo Bucles Sentencias de control de flujo Departamento de Electrónica Fundación San Valero Bucles Hasta ahora los programas que hemos visto eran lineales. Comenzaban por la primera instrucción y acababan por

Más detalles

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento

Más detalles

Fundamentos de Computadores y Lenguajes

Fundamentos de Computadores y Lenguajes Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida

Más detalles

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias. Práctica No. 6. Manejo de Excepciones Java permite el manejo de excepciones, esto permite que cuando ocurra algún error en tiempo de ejecución, se pueda evitar que el programa finalice de manera incorrecta.

Más detalles

GUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

GUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8 Página 1 de 8 TEMA: PROCEDIMIENTOS ALMACENADOS EN SQL SERVER OBJETIVO: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C#

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Sesión 2: Introducción a Java

Sesión 2: Introducción a Java Razonamiento Geométrico Diversiones Sesión 2: Introducción a Java Introducción a Java Copyright 2002-2003 Universidad de Alicante 1 Índice Revisión de Java Qué es Java? Clases y objetos La variable CLASSPATH

Más detalles

Manejo de Excepciones

Manejo de Excepciones Manejo de Excepciones Una excepción en java es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de las instrucciones. Una excepción puede ser causada por fallas de

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

TEMA 8. Agenda. Excepciones

TEMA 8. Agenda. Excepciones TEMA 8 Excepciones V1.0 28/05/06 Manuel Pereira González Agenda 1 Introducción Mecanismo para el control y gestión de errores basado en objetos llamados Excepciones Una Excepción es una condición anormal

Más detalles

Eventos. Nota: Los eventos poseen las siguientes características:

Eventos. Nota: Los eventos poseen las siguientes características: Eventos Los Eventos habilitan a una clase u objeto con la capacidad de notificar otras clases u objetos cuando algo de interés ha ocurrido. La clase que produce el evento envía (o dispara) el evento el

Más detalles

Soluciones Kata TDD. Solución requisito 1

Soluciones Kata TDD. Solución requisito 1 Soluciones Kata TDD Este documento recoge las soluciones a los primeros 8 ejercicios de la Kata Test Driven Development (TDD): Example Walkthrough de Viktor Farcic: https://technologyconversations.com/2013/12/20/test-driven-development-tdd-example-walkthrough/

Más detalles

Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte II de III

Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte II de III Desarrollo de aplicaciones web con LAMP.NET (Linux,Apache,Mono y PostgreSQL) Parte II de III Por Martin Marquez Conexión a PostgreSQL usando Npgsql Para conectarse a una base de datos

Más detalles

Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#. Programación I, Guía 4 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de selección if e

Más detalles

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación

Más detalles

Acceso a datos desde PHP (avanzado) Múltiples submits a PHP, control, gestión de errores, visualización, jquery, datatables, AJAX

Acceso a datos desde PHP (avanzado) Múltiples submits a PHP, control, gestión de errores, visualización, jquery, datatables, AJAX Acceso a datos desde PHP (avanzado) Múltiples submits a PHP, control, gestión de errores, visualización, jquery, datatables, AJAX Vista general Hemos visto lanzar una acción de un formulario a PHP Nos

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2004 1) Se desea crear una clase para hacer cálculos sobre el movimiento

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Parámetros personalizados en los eventos

Parámetros personalizados en los eventos dnm.inicio.fundamentos dnm.incio.taller Guillermo Guille Som Parámetros personalizados en los eventos En este cuarto artículo dedicado a los delegados y eventos nos centraremos en cómo comunicarnos entre

Más detalles

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java

Más detalles

Examen de Prácticas de Programación Ingeniería Informática

Examen de Prácticas de Programación Ingeniería Informática Examen de Prácticas de Programación Ingeniería Informática Junio 2007 1) (2 puntos) Escribir en Java la implementación de los métodos public void escribematrizenfichero(double[][] m, String nomfich)...

Más detalles

Código fuente C# Código asociado al formulario Splash

Código fuente C# Código asociado al formulario Splash Código fuente C# Código asociado al formulario Splash using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

Más detalles

ArrayList en Java. Los principales métodos para trabajar con los ArrayList son los siguientes:

ArrayList en Java. Los principales métodos para trabajar con los ArrayList son los siguientes: ArrayList en Java La clase ArrayList en Java, es una clase que permite almacenar datos en memoria de forma similar a los Arrays, con la ventaja de que el número de elementos que almacena, lo hace de forma

Más detalles

CAPÍTULO 9 SERIALIZACIÓN (ALMACENAMIENTO DE OBJETOS EN ARCHIVOS)

CAPÍTULO 9 SERIALIZACIÓN (ALMACENAMIENTO DE OBJETOS EN ARCHIVOS) CAPÍTULO 9 SERIALIZACIÓN (ALMACENAMIENTO DE OBJETOS EN ARCHIVOS) 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es y para qué sirve la serialización? Se pueden almacenar objetos

Más detalles

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:

Más detalles

A continuación se mostrará un breve resumen del lenguaje, extraído del libro El Lenguaje de Programación C#.

A continuación se mostrará un breve resumen del lenguaje, extraído del libro El Lenguaje de Programación C#. C# C# es un lenguaje sencillo, moderno y orientado a objetos, que pertenece a la plataforma.net y es creado por Microsoft. A continuación se mostrará un breve resumen del lenguaje, extraído del libro El

Más detalles

Manejo de Excepciones. Agustín J. González ELO329

Manejo de Excepciones. Agustín J. González ELO329 Manejo de Excepciones Agustín J. González ELO329 Manejo de Excepciones El Manejo de Excepciones es un mecanismo interno para comunicar estados de error desde una parte del programa a otra. Comúnmente,

Más detalles

Resumen Manejo de Excepciones

Resumen Manejo de Excepciones Resumen Manejo de Excepciones Excepción Excepción es un cierto tipo de error o una condición anormal que se ha producido durante la ejecución de un programa. El nombre de excepción viene del hecho de que,

Más detalles

ASP. NET. Object Data Source 2

ASP. NET. Object Data Source 2 ASP. NET. Object Data Source 2 ASP. NET. Object Data Source ASP. NET. Object Data Source ASP. NET. Object Data Source ASP. NET. Object Data Source

Más detalles

TEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6. Depto. Lenguajes y Sistemas Informáticos

TEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6. Depto. Lenguajes y Sistemas Informáticos TEMA 4 GESTIÓN DE ERRORES Cristina Cachero, Pedro J. Ponce de León 1 Sesión (1.5 horas) Versión 0.6 Depto. Lenguajes y Sistemas Informáticos Gestión Errores Objetivos Saber utilizar try, throw y catch

Más detalles

Entendiendo ADO.NET con Mono y PostgreSQL (III)

Entendiendo ADO.NET con Mono y PostgreSQL (III) Entendiendo ADO.NET con Mono y PostgreSQL (III) por Martín Márquez xomalli@gmail.com Introducción ADO.NET es la evolución de la tecnología ADO (Active X Data Objects) que permite la comunicación de aplicaciones

Más detalles

Contenido. Comentarios. l Estilo l Documentación l Pruebas l Depuración **/ l Comentarios de código. l Comentarios de documentación

Contenido. Comentarios. l Estilo l Documentación l Pruebas l Depuración **/ l Comentarios de código. l Comentarios de documentación {F-PROG dit Contenido l Estilo l Documentación l Pruebas l Depuración Fundamentos de Programación DIT- 1 {F-PROG dit Comentarios l Comentarios de código n /*... */ n // comentario táctico: hasta fin de

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

2. Indica cuál de las siguientes afirmaciones es cierta:

2. Indica cuál de las siguientes afirmaciones es cierta: Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido

Más detalles

TEMA 5: Trabajando con bases de datos. ClaseOracleBD

TEMA 5: Trabajando con bases de datos. ClaseOracleBD TEMA 5: Trabajando con bases de datos. ClaseOracleBD Índice de contenido Introducción...1 Archivo de configuración...1 Agregar una cadena de conexión a Web.config con un control de origen de datos...2

Más detalles