Como Manejar/Administrar Excepciones/Errores en Delphi | DevTroce.com

Como Manejar Errores en Delphi

Marzo 9, 2010. Por GeekZero. Categorizado en Delphi, Lenguajes de Programación. Dejanos el Primer Comentario. Leido 294 veces.

Siempre es fundamental manejar correctamente las excepciones dentro de nuestras aplicaciones, así nos será más fácil tener una consistencia de datos y roturas de la aplicación frente al usuarios final. Aquí en DevTroce ya hemos tocado este tema en distintos lenguajes e incluso en motores de bases de datos y ésta vez le toca el turno a Delphi, es bastante similar que el resto de los lenguajes, pero con algunas particularidades propias.

En Delphi tenemos disponible para nuestro uso 3 bloques: try, except y finally pero llamativamente sólo podemos utilizar 2 en un manejo de excepciones y en el cual obligatoriamente debe estar incluida la sentencia try. Veamos algunos ejemplos, en el primer caso tenemos el intento de ejecución de algún código y en caso de error es capturado por el bloque except y lo lanza en un mensaje emergente su descripción.

1
2
3
4
5
6
7
8
try
	// intento de ejecucion de algun codigo
except
	on E: Exception do
	begin
		ShowMessage(E.ClassName + ' Ocurrio un error : ' + E.Message);
	end;
end;

El segundo modo será con el intento una ejecución al final se haya producido o no una excepción, personalmente esta manera me parece inútil ya que con el bloque anterior obtenemos un manejo de error y todo lo que vaya debajo del end de except será un equivalente a un finally.

1
2
3
4
5
6
7
try
	// intento de ejecucion de algun codigo
finally 
	begin
		// ejecutamos algun codigo una vez finalizado
	end;
end;

En algunos casos mas complejos podríamos necesitar crear nuevas excepciones personalizas o provocarlas en algunas situaciones particulares o incluso simplemente queremos expandir la excepción a las clases u objetos superiores, eso lo hariamos del siguiente modo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
try
	// intento de ejecucion de algun codigo
except 
	begin
		Raise Error.Create('Error Personalizado');
	end;
end;
 
try
	// intento de ejecucion de algun codigo
	// si sucede algo provocamos aqui ya el error para capturarlo
	Raise Error.Create('Error Personalizado');
except 
	begin
		ShowMessage(E.ClassName + ' Ocurrio un error : ' + E.Message);
	end;
end;

Articulos Relacionados:

Etiquetas:

Escribenos tu Comentario

Sigue los comentarios por RSS, suscribete a los feeds del comentario.