1. La fuente de la anormalidad.
En la aplicación de Delphi, es más probable que las siguientes situaciones generen excepciones.
(1) Procesamiento de archivos
(2) Asignación de memoria
(3) Recursos de Windows
(4) Crear objetos y formularios durante el tiempo de ejecución
(5) Conflicto de hardware y sistema operativo
?
2. Manejo de excepciones.
(1) intente ... excepto ... fin ;
Cuando se produce una excepción en el código en el cuerpo de prueba, el sistema recurrirá a la parte excepto para el procesamiento de excepciones. Esta es una de las formas más básicas en que Delphi maneja las excepciones.
?
(2) intente ... finalmente ... fin ;
Esta estructura de manejo de excepciones generalmente se usa para proteger la asignación de recursos de Windows y otros aspectos.
A diferencia del intento ... excepto ... final, la parte finalmente de la estructura siempre se ejecuta.
?
(3) No hay intento ... excepto ... Finalmente ... Estructura final para manejar excepciones y proteger las estructuras de asignación de recursos. Finalmente ... ESTRUCTURA FINAL, realizando así el manejo de excepciones.
?
?
3. Manejo preciso de excepciones.
(1) Defina una excepción.
En Delphi, cada excepción es una clase derivada [2] de la clase de excepción [1] . Por lo tanto, definir una excepción es definir una clase derivada de la clase de excepción.
tipo emyexception = class (excepción);
Por supuesto, la clase base puede ser una excepción o cualquier nivel de excepción.
?
(2) Lanzar una excepción en el programa.
Lanzar excepciones de acuerdo con diferentes situaciones es el modo más básico de usar excepciones. En Delphi, la implementa la declaración de aumento .
[Sintaxis] recaudar excepcion.create ('Descripción predeterminada de la excepción');
?
(3) Captura excepciones con mayor precisión en el intento ... excepto ... fin.
Use el ON E: Class de excepción do ... Estructura para manejar excepciones lanzadas por una clase de excepción específica en el cuerpo DO.
?
4. Depuración de excepción.
En Delphi IDE, desmarque el estado de verificación de la casilla de verificación de depuración integrada en "Opciones de depuradores" (puede usar las herramientas de menú:> Opciones de depuradores ... para acceder a ella).
?
5. Explicación complementaria de anormalidades.
(1) ¡Cada programa puede producir errores! Este es un fenómeno y ley incuestionable en la industria del software. De hecho, la estructura tradicional si ... de lo contrario puede resolver completamente todos los errores.
La respuesta es clara: las excepciones proporcionan una forma más flexible y abierta, lo que permite a los programadores posteriores lidiar con este error en función de las condiciones reales en lugar de usar resultados de procesamiento preestablecido. De hecho, creo que este es el núcleo del mecanismo de excepción.
[1] La definición de la clase de excepción está en la unidad Sysutils.
[2] Delphi también es compatible con clases de excepción que no heredan de la excepción, pero no creo que sea muy sabio hacerlo.