Ir al contenido principal

Destacado

Desarrollo web Bootcamp

  Introducción a la Programación La programación es el proceso de diseñar y escribir instrucciones que las computadoras entienden para realizar tareas específicas. Estas instrucciones se conocen como código , y permiten a los desarrolladores crear aplicaciones, sitios web, juegos y mucho más. Lenguajes de Programación Comunes en el Desarrollo Web En el desarrollo web, los lenguajes más utilizados incluyen: HTML : Define la estructura del contenido en una página web. CSS : Estiliza y da diseño a los elementos de HTML. JavaScript : Agrega interactividad y funcionalidades dinámicas a las páginas web.      PHP y Python : Son lenguajes de servidor para manejar la lógica y los datos. SQL : Sirve para gestionar bases de datos. Sintaxis Básica La sintaxis es un conjunto de reglas que determina cómo escribir código en un lenguaje específico. Es fundamental para que el programa funcione correctamente. Por ejemplo: javascript let mensaje = "¡Hola Mundo!" ; console . log (mens...

Manejo de excepciones en lenguaje c++


Manejo de excepciones en c++




Definición.
El lenguaje C++ incorpora soporte para manejar situaciones anómalas, conocidas como excepciones, que pueden ocurrir durante la ejecución  de un programa.
Las excepciones proporcionan una manera limpia de verificar errores; esto es, sin abarrotar el código básico de una aplicación utilizando sistemáticamente los códigos  de retorno de las funciones en sentencias if para controlar los posibles errores que se puedan dar.

Tipos de excepciones.

Todos los tipos de excepción se corresponde con una clase de objetos, incluidos los objetos de tipos predefinidos , como char, o de tipos derivados, como char *. En general, se crea un nuevo tipo de excepción cuando se requiere manejar un determinado tipo de error.

Class Cel
{
Public:
Const char * mostrarCausa() const
     {
 Return “excepcion de tipo Cel”
     }
};

Throw, en una excepción equivale a crear un objeto temporal de ese tipo de excepción .
Void Mifuncion()
{
//..
Throw Cels(); // crea un objeto temporal de tio Cel
//..
}


Catch es un manejador de excepción, solo se puede utilizar justamente a continuación de un bloque  try  o de otro manejador de excepción (bloque catch). Las sentencias try y catch, por definición, van seguidas de un bloque que encierra el código relativo a cada  unas de ellas, razón  por la cual  es obligatorio utilizar llaves.
En el manejo de excepciones, cuando un error mientras se está ejecutando una función, el método crea un valor , variable u objeto, el cual se conoce como excepcion, que contiene información sobre el error en el punto en que ocurre. Esta excepción es transmitida de inmediato, en el punto en que fue generada, al código que se denomina manejador de excepciones, el cual  está  diseñado para ocuparse de la excepción. El proceso de generar y transmitir la excepción en el punto en que se detecto el error y luego regresar el control de nuevo a la función de modo que pueda completar su tarea.  En general hay dos tipos de errores fundamentales pueden causar excepciones en C++, aquellos que resultan de una incapacidad del programa para obtener un recurso requerido, y aquellos que resultan de datos defectuosos. Son ejemplos del primer tipo de error los intentos de obtener un recurso del sistema, como localizar y encontrar un archivo para entrada. Estos tipos de errores son el resultado de recursos extremos sobre los cuales el programador no tiene control. El segundo tipo de error puede ocurrir cuando un programa le indica al usuario que introduzca un número entero, y el usuario introduce una cadena, como e234, que no puede ser convertida en un valor numérico.



Creación de excepciones definidas por el usuario

Las excepciones predefinidas cubren las situaciones de error más habituales con las que nos podemos encontrar, relacionadas con el propio lenguaje y el hardware. Cuando se desarrollan aplicaciones existen otras situaciones de error de más alto nivel relacionadas con la funcionalidad de nuestros programas. El manejador de excepción, catch, específica entre paréntesis el tipo de objetos que tienen acceso al mismo y opcionalmente nombra un argumento, por ejemplo cuando necesitamos acceder a una función miembro de la clase de excepción Cel, tendremos que especificar el nombre de un objeto de excepción:

Catch (Cel el) // el es inicializador con el objeto temporal
 {                     // creador por throw Cel()
//tipo de excepción Cel atrapada
Cout<<el.MostrarCausa()<<endl;




Las excepciones en C ++ pueden ser excepciones no verificadas, una función puede lanzar cualquier tipo de excepción y excepciones verificadas, una función solo puede lanzar las excepciones que ha declarado.
a)     Lanzar una excepción
 La sentencia throw Cel() lanza la excepción Cel , esto es , crea un objeto de esta clase, que interrumpe el flujo de ejecución de la aplicación y vuelve por la pila de llamadas de funciones hasta encontrar una que sepa atrapar la excepción( las excepciones se atrapan gracias a  las sentencias catch).
Si una función lanza una excepcion  y en la vuelta por el camino de llamadas funciones no se encuentra una que la atrape  la aplicación finalizara. En cambio, si se encuentra un manejador para esa excepción , se ejecuta. En el supuesto de que  en la pila de llamadas a funciones quedaran otras que pudieran atraparla, no serán tenidas en cuenta; esto es, solo se tiene en cuenta el manejador de la función por el que haya pasado el flujo de control más reciente.                       















Ejemplo de excepciones.

#include<iostream>

using namespace std;

int main(){
   
    int *x;
   int y = 100000000;
  
   try {
      x = new int[y];
      x[0] = 10;
      cout << "Puntero: " << (void *) x << endl;
      delete[] x;
   }
   catch(std::bad_alloc&) {
      cout << "Memoria insuficiente" << endl;
   }
  
   return 0;
}
   
   








Conclusión:

Las excepciones son representadas como objetos derivados de la clase abstracta Cexcepcion.
Catch en cada programa toma como primer parámetro el tipo de excepción a verificar , y como segundo parámetro, el nombre para un puntero a un objeto de ese tipo de excepción , que puede ser utilizado dentro del bloque catch para acceder a ese objeto. Esta variable es declarada por el usuario.
Throw envía la excepción especificada. Throw interrumpe la ejecución del programa y pasa el control  al bloque catch asociado.   
Además las excepciones proporcionan una manera limpia de verificar errores

















Descarga Libros en c y c++ https://mega.nz/folder/ZckjDaLR#v5Bgwuv3ypM8uxOoKw90Wg




Bibliografía:

Libro: Programación orientada a objetos
Autor: Francisco Javier Ceballos
Edit. ADDISON WESTLEY IBEROAMERICANA

Libro: C++ para ingeniería y Ciencias
Autor: Gary. J. Bronson
Edit. THOMSON

Comentarios

Entradas populares