Tutorial básico de DELPHI: manejo de excepciones y depuración de programas (1) [4]
Delphi finalmente proporciona una palabra reservada para proteger los recursos.
{Asignar recursos}
Intentar
{Uso de recursos}
Finalmente
{Liberar recursos}
Fin;
Intentar...finalmente...fin forma un bloque de protección de recursos. Independientemente de si el programa es anormal o no, las declaraciones posteriores a finalmente se ejecutarán bajo cualquier circunstancia.
Para el ejemplo en (), el siguiente código garantiza que se liberen los recursos de memoria asignados.
Definir variables
APointer: puntero
AInt ADiv:Integer
Inicio
ADiv:= ;
GetMem(apo int)
Prueba
AInt:= div ADiv;
Finalmente
Gratis Memoria
End;
End;
El siguiente ejemplo está extraído de la sección () y se utiliza para implementar la protección de recursos de archivos en la copia de archivos.
Procesar archivo de copia (nombre de archivo constante DestName: TFileName)
Definir variables
CopyBuffer: puntero;
Bytes de marca de tiempo copiados: Longint;
Destino de origen:integer;
Destino:TFileName
Constante
Tamaño del fragmento:Longint =;
Inicio
destino:= expandir nombre de archivo(DestName)
Si HasAttr(directorio de destino), entonces
Destino:=destino+ \ + Extraer nombre de archivo ( nombre de archivo)
Marca de tiempo:=tamaño de archivo (nombre de archivo)
GetMem(CopyBuffer ChunkSize)
Probar
Fuente:= FileOpen (FileNamefmShareDenyWrite)
Si source & lt entonces
genera EFOpenError Create(FmtLoadStr(SFOpenError[FileName])
Try
Dest: = FileCreate(Destino)
Si Dest & lt entonces
elevar EFCreateError Create(FmtLoadStr(SFCreateError[Destino]))
Intentar
Repetir
BytesCopied := FileRead(sourceCopyBuffer^tamaño de bloque)
Si BytesCopied & gt entonces
Escribir archivo Enter (CopiarBuffer de destino^bytes copiados) p>
Hasta BytesCopied & ltChunkSize
Finalmente
Archivo cerrado (destino)
Fin
Finalmente
Archivo cerrado (fuente)
Fin;
Finalmente
FreeMem(CopyBuffer ChunkSize)
p>Fin
p>Fin;
Para obtener instrucciones detalladas sobre este proceso, consulte la sección ()
En el caso de protección de excepción, cuando ocurre una excepción, el sistema aparecerá automáticamente. Abra un cuadro de mensaje para mostrar el mensaje anormal y la clase de excepción se borrará automáticamente después de salir del módulo actual.
Volver al directorio Tutorial básico de DELPHI
Recomendación del editor
Videotutorial de capacitación en programación Java
Videotutorial de capacitación práctica del marco avanzado J EE
p>Desarrollo y práctica de la tecnología de audio y vídeo Visual C++
Tecnología de índice Oracle
Guía de optimización y desarrollo de bases de datos ORACLE G
La optimización del rendimiento de los programas Java permite que sus programas Java sean más rápidos y estables.
c Patrón de diseño de programación integrada
Guía práctica para el desarrollo de juegos para Android
Lishi Xinzhi/Article/program/Delphi/201311/25194