| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖
标题:求助:关于异常处理.
取消只看楼主 加入收藏
fxzmodel
Rank: 2
等 级:新手上路
威 望:4
帖 子:50
专家分:0
注 册:2006-2-20
收藏
 问题点数:0 回复次数:2 
求助:关于异常处理.

各位老大,小弟写了一段代码.不知道为什么无法截获异常.请各位指点一下.代码如下:
var
SmallNumber:shortint;
X,Y:Integer;
begin
try
X:=100;
Y:=75;
SmallNumber:=x*y;
except
on ERangeError do showmessage('数据越界错误!');
end;
end;

2006-04-02 16:25
fxzmodel
Rank: 2
等 级:新手上路
威 望:4
帖 子:50
专家分:0
注 册:2006-2-20
收藏
得分:0 
斑竹你好,当初没有截获异常的原因的确是没有在编译过程中打开类型检查,但是后来又出现了一个问题.是关于溢出异常的.具体情况见下列代码:
var
X,Z,y:integer;
begin
X:=2147483647;
try
{$q+}
y:=2147483647;
Z:=x+y;
except
on EIntOverFlow do showmessage('数据溢出错误!');
end;
showmessage(inttostr(z));
{$q-}
end;
看见红色的那一句没有如果没有这一句delphi也检查不到溢出异常.奇怪的是按说showmessage(inttostr(z));不在try..except..end;之中不会对数据溢出检查造成影响,但是不知道为什么没有这一句try却不能
截获溢出异常.
2006-04-05 19:33
fxzmodel
Rank: 2
等 级:新手上路
威 望:4
帖 子:50
专家分:0
注 册:2006-2-20
收藏
得分:0 
关于try..except..end;这个我也知道那是一个保护模块,目的是让异常产生是按我们的构想进行处理.另外关于上例中的那个z,最初我也想过是不是必须得使用变量z时才能产生异常,如果是那样的话,不一定非得用showmessage.但是我尝试了一下用其他方法调用z但是try仍然不会截获异常.哎,问题没解决,辗转反侧.
2006-04-06 20:16
快速回复:求助:关于异常处理.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025367 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved