下面是我创建的代码模块,用于验证用户输入是否在一个范围之间,但是这个错误一直出现在它下面'声明预期,但功能发现',任何人的想法?非常感谢
function get_choice(var Options: integer): integer;
var
choice: integer;
begin
while (true) do
begin
write('choose option 1 to', Options);
try
readln(choice);
if (choice>=1) and (choice <=Options) then
get_choice := choice
else
write('invalid range');
except
write('not a number');
end;
end;
答案 0 :(得分:5)
正如Sharam已经说过的那样,你错过了end
区块的try..except..end
。尽管如此,我想我可以通过一些提示来提高答案,以帮助在将来避免这种情况。
begin .. end
块保留在同一列上。try..except..end
,try..finally..end
和repeat..until
阻止相同的列。答案 1 :(得分:4)
您错过了end
:
try
readln(choice);
if (choice>=1) and (choice <=Options) then
get_choice := choice
else
write('invalid range');
except
write('not a number');
end;
end
end;
尝试try..except
阻止必须有自己的结束。