DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: huoying_you
今日帖子: 4
在线用户: 17
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ciscoren (yaya) ★☆☆☆☆ -
普通会员
2004/4/30 19:00:44
标题:
这个异常我怎么不能捕获? 浏览:1206
加入我的收藏
楼主: 以下是整个源码,当我在 EDIT1 里面输入 字母的时候系统产生一个 EConvertError,wo 我想捕获这个异常,请看以下代码,可是捕获不到,谁能告诉我到底哪里错了.


unit Dates1Form;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  Taa = class
    Month, Day, Year: Integer;
    procedure SetValue (y: Integer);
    function LeapYear: Boolean;
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    EditYear: TEdit;
    procedure Button1Click(Sender: TObject); 
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure Taa.SetValue (y: Integer);
begin
 // Month := m;
 // Day := d;
  Year := y;
end;

function Taa.LeapYear: Boolean;
begin
  // call IsLeapYear in SysUtils.pas
  Result := IsLeapYear (Year);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ADay: Taa;
begin
  // create an object
  ADay := Taa.Create;
  try
    // use the object
    try
    ADay.SetValue (StrToInt (EditYear.Text));
    if ADay.LeapYear then
     ShowMessage ('Leap year: ' + IntToStr (ADay.Year));
     
     except
     on E: EConvertError do
          ShowMessage ('Wrong input');
     end;

  finally
    ADay.Free;
    // destroy the object
  end;
end;

end.
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/1 8:25:41
1楼: 不要在IDE下运行,试试
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 dream0 (dream0) ★☆☆☆☆ -
盒子活跃会员
2004/5/1 9:24:49
2楼: 楼上的说得对,在IDE运行, 
     except
     on E: EConvertError do
          ShowMessage ('Wrong input');
     end;
这一段语句就等于没有,因为一有异常他就会告诉你,而不是让try...except去处理
----------------------------------------------
-
作者:
男 whbchy (whb) ★☆☆☆☆ -
普通会员
2004/5/2 14:05:18
3楼: try
...
except
...
end;
finally
...
end;
这样也可以??
----------------------------------------------
wang
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/2 15:06:04
4楼: try
  try
  except
  end;
finally
end;
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行82.03125毫秒 RSS