在Turbo Pascal中用IoResult防止程序崩溃
函数IoResult返回最近一次I/O操作的状态值,返回值是0时表示输入输出操作成功。在使用前应加上{$I-},关闭I/O检查;如果IoResult返回值为0,即操作成功,此时应再加上{$I+},以打开I/O检查。程序TEST演示了如何使用IoResult来防止程序崩溃。
PROGRAM Test;
VAR t1,t2:INTEGER;f:TEXT;
BEGIN
REPEAT {判断t1是否为一个整数}
Write('请输入一个整数:');
{$I-} Readln(t1);t2:=IoResult;
UNTIL t2=0; {只有在输入正确时才跳出循环}
{$I+} Writeln('正确!');Writeln;
REPEAT {检查A驱是否准备好写入文件}
Writeln('请插入A盘后敲回车键!');Readln;
Assign(f,' temp.txt');
{$I-} Rewrite(f);
t2:=IoResult;
UNTIL t2=0; {只有在A驱中插入软盘而且写保护开关关上时才跳出循环}
Writeln(f,'ok!');
Close(f);
{$I+} Writeln('A盘上写temp.txt正常!');
END