Tesla.Angela 发表于 2012-12-25 18:26:19

VB2010的一个脑残BUG以及解决方法

  VB里用来判断一个字符串是不是数字的函数是IsNumeric,按理来说此函数输入任意字符串都是可以的,但是当你输入一些特殊的字符串时,此函数竟然会抛出个蛋疼的异常!比如执行:IsNumeric("&HFFFF800012345678"),就会提示出现未处理的异常。
  解决方法是加上一个try - catch语句,当出现异常时,直接返回FALSE。

lxl1638 发表于 2013-2-8 22:34:56

楼主可知,VB中"&HFFFF800012345678"是一个16进制数值,但这个数值在32位系统中已越界了,所以抛出个异常给你。

admin 发表于 2013-2-9 01:22:19

lxl1638 发表于 2013-2-8 22:34 static/image/common/back.gif
楼主可知,VB中"&HFFFF800012345678"是一个16进制数值,但这个数值在32位系统中已越界了,所以抛出个异常给 ...

这个函数的BUG跟操作系统有个毛关系。
为啥IsNumeric("NiShiShaBi")就不报错,IsNumeric("&HFFFF800012345678")就要报错?
这个函数应该是只要输入了字符串,就永远不应该报错的。

upring 发表于 2015-5-3 21:08:39

支持 两位大侠探讨
页: [1]
查看完整版本: VB2010的一个脑残BUG以及解决方法