var loop: Integer; try ... setlength(newarray,high(oldarray)-low(oldarray)+1); //move(oldarray,newarray,high(oldarray)-low(oldarray)+1); //copymemory(@newarray,@oldarray,high(oldarray)-low(oldarray)+1); //newarray := oldarray; if high(newarray) < 0 then Exit; for loop := low(oldarray) to high(oldarray) do newarray[loop] := oldarray[loop]; except if high(newarray) > 0 then for loop := low(newarray) to high(newarray) do newarray[loop] := ''; end; for loop := low(oldarray) to high(oldarray) do oldarray[loop] := '';
dephi 异常处理 try ....; except ....; else ...; end 还有 try ...; finally ...; end
...//不发生异常执行语句
except
...//发生异常执行的语句
end;
...
except
...//发生异常执行的语句
end;
...//不发生异常执行语句
数组复制
原数组清空
except
目的数组清空
end
loop: Integer;
try
...
setlength(newarray,high(oldarray)-low(oldarray)+1);
//move(oldarray,newarray,high(oldarray)-low(oldarray)+1);
//copymemory(@newarray,@oldarray,high(oldarray)-low(oldarray)+1);
//newarray := oldarray;
if high(newarray) < 0 then Exit;
for loop := low(oldarray) to high(oldarray) do
newarray[loop] := oldarray[loop];
except
if high(newarray) > 0 then
for loop := low(newarray) to high(newarray) do
newarray[loop] := '';
end;
for loop := low(oldarray) to high(oldarray) do
oldarray[loop] := '';
try
....;
except
....;
else
...;
end
还有
try
...;
finally
...;
end