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

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats