程序如下所示,当我在Edit1中输入字符等非Integer型(如:dfdsfs)时,是不是应该执行except中的语句?为什么我在执行程序时,却出现提示异常的窗口,与不用异常处理(StrToInt(Edit1.Text);)是一样的效果!请大家帮帮忙啊!谢谢了!
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  Try
    StrToInt(Edit1.Text);
  except
    Application.MessageBox('请输入合法字符!','提示', 0 + 64);
    Edit1.Clear;
    Edit1.SetFocus;
  end;
end;

解决方案 »

  1.   

      Try 
            StrToInt(Edit1.Text); 
        except 
            Application.MessageBox( "请输入合法字符! ", "提示 ",   0   +   64); 
            exit;
            Edit1.Clear; 
            Edit1.SetFocus; 
        end; 
      

  2.   

    procedure   TForm1.Edit1Exit(Sender:   TObject); 
    var
      i: integer
    begin 
        Try 
          StrToInt(Edit1.Text);    //没有这种写法哟,前面得放一变量
          i := StrToInt(Edit1.Text);
          ShowMessage(inttostr(i));    
        except 
            Application.MessageBox( "请输入合法字符! ", "提示 ",   0   +   64); 
            Edit1.Clear; 
            Edit1.SetFocus; 
        end; 
    end;