En aquest tema, aprendrem com gestionar errors i depurar aplicacions en Delphi/Object Pascal. La gestió d'errors i la depuració són habilitats essencials per a qualsevol programador, ja que permeten identificar i corregir problemes en el codi de manera eficient.
Continguts
Introducció a la Gestió d'Errors
La gestió d'errors és el procés de manejar situacions inesperades que poden ocórrer durant l'execució d'un programa. En Delphi, això es fa principalment mitjançant l'ús de blocs try...except
i try...finally
.
Tipus d'Errors
- Errors de Compilació: Errors detectats pel compilador abans d'executar el programa.
- Errors d'Execució: Errors que ocorren durant l'execució del programa, com ara divisions per zero o accés a memòria no vàlida.
- Errors Lògics: Errors en la lògica del programa que produeixen resultats incorrectes.
Ús de Try...Except
El bloc try...except
s'utilitza per capturar i gestionar errors d'execució. Aquí teniu un exemple bàsic:
procedure DivideNumbers(a, b: Integer); var result: Integer; begin try result := a div b; Writeln('Resultat: ', result); except on E: EDivByZero do Writeln('Error: Divisió per zero.'); on E: Exception do Writeln('Error: ', E.Message); end; end;
Explicació del Codi
- try: Inicia un bloc de codi que pot generar una excepció.
- except: Captura l'excepció si es produeix.
- on E: EDivByZero do: Gestiona específicament l'excepció de divisió per zero.
- on E: Exception do: Gestiona qualsevol altra excepció.
Ús de Try...Finally
El bloc try...finally
s'utilitza per assegurar que un bloc de codi s'executi sempre, independentment de si es produeix una excepció o no. Això és útil per a la neteja de recursos.
procedure OpenFile; var f: TextFile; begin AssignFile(f, 'example.txt'); try Reset(f); // Operacions amb el fitxer finally CloseFile(f); end; end;
Explicació del Codi
- try: Inicia un bloc de codi que pot generar una excepció.
- finally: Assegura que el codi dins d'aquest bloc s'executi sempre, fins i tot si es produeix una excepció.
Depuració en Delphi
La depuració és el procés de trobar i corregir errors en el codi. Delphi proporciona diverses eines per a la depuració:
Punts de Trencament (Breakpoints)
Els punts de trencament permeten aturar l'execució del programa en un punt específic per inspeccionar l'estat del programa.
Inspecció de Variables
Podeu inspeccionar el valor de les variables en temps d'execució per veure si contenen els valors esperats.
Seguiment Pas a Pas
El seguiment pas a pas permet executar el codi línia per línia per veure exactament què està fent el programa.
Exercicis Pràctics
Exercici 1: Gestió d'Errors amb Try...Except
Escriviu una funció que llegeixi un nombre enter des de l'entrada de l'usuari i gestioni els errors d'entrada no vàlida.
procedure ReadInteger; var num: Integer; begin try Write('Introdueix un nombre enter: '); Readln(num); Writeln('Has introduït: ', num); except on E: EConvertError do Writeln('Error: Entrada no vàlida.'); end; end;
Exercici 2: Ús de Try...Finally
Escriviu una funció que obri un fitxer, llegeixi el seu contingut i asseguri que el fitxer es tanqui correctament.
procedure ReadFile; var f: TextFile; line: string; begin AssignFile(f, 'example.txt'); try Reset(f); while not Eof(f) do begin Readln(f, line); Writeln(line); end; finally CloseFile(f); end; end;
Conclusió
En aquesta secció, hem après com gestionar errors i depurar aplicacions en Delphi/Object Pascal. Hem vist com utilitzar els blocs try...except
i try...finally
per capturar i gestionar errors, així com les eines de depuració que proporciona Delphi. La pràctica d'aquests conceptes us ajudarà a escriure codi més robust i a identificar i corregir errors de manera més eficient.
En el següent tema, explorarem les estructures de dades com arrays i cadenes, que són fonamentals per a la manipulació de dades en Delphi.
Curs de Programació Delphi/Object Pascal
Mòdul 1: Introducció a Delphi/Object Pascal
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment