期望语句但功能在我的功能代码中发现错误

Top*_*les 0 delphi pascal

所以下面是我创建的代码模块,用于验证用户输入是否在一个范围之间,但是这个错误一直出现在它下面'语句预期但找到函数',任何想法?非常感谢

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;
Run Code Online (Sandbox Code Playgroud)

H.H*_*ack 5

正如沙拉姆已经说过的那样,你错过endtry..except..end阻挡.尽管如此,我想我可以通过一些提示来增强答案,以帮助在将来避免这种情况.

  • 保持你的(begin .. end块在同一列上.相同try..except..end,try..finally..endrepeat..until阻止当然.
  • 利用IDE的选项将begin和block与行连接起来."结构突出显示.查看附带的截图.

结构突出行动

结构突出选项

  • 这不能回答被问到的问题 (2认同)
  • 我想不然.为了避免将来出现同样的错误而提供帮助应该得到奖励,而不是低估.无论如何,感谢您的评论.我宁愿把它放在评论中而不是答案,但遗憾的是我的声誉还不允许.(26/50) (2认同)