FAQ > 金融建模 > 建模问题 > 平台使用

Q:网格运算报错,如何返回具体报错信息?    

  • A:根据异常处理功能(FAQ:),可实现如下:

    Function GridErr_Demo();
    Begin
      r:=array();
      stocks:=getbk('上证50')[0:3] union array('CS01');
    //不存在的代码CS01,取行情时会触发报错
      for i:=0 to length(stocks)-1 do
       r[i]:=#geta(stocks[i]);

      ret:=array();
      for i:=0 to length(r)-1 do
       ret[i]:=r[i];
      return ret;
     
    End;
    function geta(s);
    begin
      try
       setsysparam(pn_stock(),s);
       return array(datetostr(sp_time()), CurrentStockName(), close());
      except //若上段程序报错,则做以下操作
       echo s;//打印报错的变量-方便定位错误入口
       raise exceptobject.ErrInfo;//raise 出报错信息-方便清楚具体哪个命令运行报错
      end;
    end;
    //执行报错:即,当参数s为CS01时,执行第17行命令报没有指定股票的错误