小弟第一次用异常处理
写了以下代码,不知道错在哪儿 请GGJJ门忙我看看好?
try 
strtoint('aaaaa');
except
on EConvertError do
showmessage('kkkkk');
end;结果运行的时候还是报数据转换类型错误。。而且没有执行showmessage
我不知道是不是要在前面引用异常类,
请问到底是哪儿错了呢?
谢谢了

解决方案 »

  1.   

    你在编译环境里试的吧,delphi会比try先获得异常...
      

  2.   

    这是因为delphi编译器自动加一个隐含  try except .
      

  3.   

    function StrToInt(const S: string): Integer;
    var
      E: Integer;
    begin
      Val(S, Result, E);
      if E <> 0 then ConvertErrorFmt(@SInvalidInteger, [S]);
    end;
    -----------------------------------
    procedure ConvertErrorFmt(ResString: PResStringRec; const Args: array of const); local;
    begin
      raise EConvertError.CreateResFmt(ResString, Args);
    end;
      

  4.   

    它已经抛出了 raise EConvertError.CreateResFmt(ResString, Args);