找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7198|回复: 3

[交流] VB2010的一个脑残BUG以及解决方法

[复制链接]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2012-12-25 18:26:19 | 显示全部楼层 |阅读模式
  VB里用来判断一个字符串是不是数字的函数是IsNumeric,按理来说此函数输入任意字符串都是可以的,但是当你输入一些特殊的字符串时,此函数竟然会抛出个蛋疼的异常!比如执行:IsNumeric("&HFFFF800012345678"),就会提示出现未处理的异常。
  解决方法是加上一个try - catch语句,当出现异常时,直接返回FALSE。

7

主题

36

回帖

2

精华

初来乍到

积分
3171
发表于 2013-2-8 22:34:56 | 显示全部楼层
楼主可知,VB中"&HFFFF800012345678"是一个16进制数值,但这个数值在32位系统中已越界了,所以抛出个异常给你。

20

主题

66

回帖

0

精华

管理员

积分
1653
发表于 2013-2-9 01:22:19 | 显示全部楼层
lxl1638 发表于 2013-2-8 22:34
楼主可知,VB中"&HFFFF800012345678"是一个16进制数值,但这个数值在32位系统中已越界了,所以抛出个异常给 ...


这个函数的BUG跟操作系统有个毛关系。
为啥IsNumeric("NiShiShaBi")就不报错,IsNumeric("&HFFFF800012345678")就要报错?
这个函数应该是只要输入了字符串,就永远不应该报错的。
我是管理员,虽然不常吭声,但无时无刻关注着论坛里每个人的一举一动!

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-5-3 21:08:39 | 显示全部楼层
支持 两位大侠探讨
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表