Supongo que "preveer hasta cierto punto", porque si tenemos que comprobar que el fichero:
- existe
- es un jpg
- no está corrupto
Hecho mediante try.. except, try finallys y demás... me parece demaisado.
En este caso, teniendo una ventana de Inventario por detrás y muy posiblemente una base de datos, yo simplemente haría un Try ... except, y dentro del except pondría en un estado estable las variables que puedan dar efectos colaterales, despues, lanzaría mi propia excepción.
Con código:
Código Delphi
[-]
procedure TformInventarios.proCargarImagenes(Im: TImage; ruta: String; imagen: String);
var
ImgExt: String;
begin
Im.Stretch:= True;
try
Im.Picture.LoadFromFile(ruta + imagen + '.JPG');
except
if im <> nil then im.picture.Clear;
ruta := EmptyStr;
imagen := EmptyStr;
raise Exception.CreateFmt(' la imagen %s%s no se ha podido cargar',[imagen, ruta]);
end;
end;
Saludos