Sintaxis de manejo de excepciones


La sintaxis de manejo de excepciones es el conjunto de palabras clave y / o estructuras proporcionadas por un lenguaje de programación de computadora para permitir el manejo de excepciones , que separa el manejo de errores que surgen durante la operación de un programa de sus procesos ordinarios. La sintaxis para el manejo de excepciones varía entre los lenguajes de programación , en parte para cubrir las diferencias semánticas, pero en gran parte para encajar en la estructura sintáctica general de cada lenguaje . Algunos lenguajes no llaman al concepto relevante " manejo de excepciones "; otros pueden no tener facilidades directas para ello, pero aun así pueden proporcionar los medios para implementarlo.

Más comúnmente, el manejo de errores usa un try...[catch...][finally...]bloque y los errores se crean a través de una throwdeclaración, pero existe una variación significativa en el nombre y la sintaxis.

La mayoría de los lenguajes ensambladores tendrán una macroinstrucción o una dirección de interrupción disponible para que el sistema en particular intercepte eventos tales como códigos de operación ilegales, verificación de programas, errores de datos, desbordamiento, división por cero y otros. Los mainframes IBM y Univac tenían la macro STXIT . Los sistemas RT11 de Digital Equipment Corporation tenían vectores de trampa para errores de programa, interrupciones de E / S , etc. DOS tiene ciertas direcciones de interrupción. Microsoft Windows tiene llamadas de módulo específicas para atrapar errores de programa.

Una estructura On Error goto / gosub se usa en BASIC y es bastante diferente del manejo de excepciones moderno; en BASIC solo hay un manejador global mientras que en el manejo de excepciones moderno, los manejadores de excepciones están apilados.

C no proporciona soporte directo para el manejo de excepciones: es responsabilidad del programador evitar errores en primer lugar y probar los valores de retorno de las funciones.

En cualquier caso, una forma posible de implementar el manejo de excepciones en el estándar C es usar las funciones setjmp / longjmp :