vb中程序出错就自动退出的处理
vb中程序出错就自动退出,通过OnErrorGoTo语句可以避免程序退出,但是,每个可能出错的地方都有用OnErrorGoTo语句,语句太多(并且有些错误无法预料),有没...
vb中程序出错就自动退出,通过On Error GoTo 语句可以避免程序退出,但是,每个可能出错的地方都有用On Error GoTo 语句,语句太多(并且有些错误无法预料),有没有只使用一次On Error GoTo 语句,就可以避免程序退出的方法。
比如修改文本框数据,将文本框数据删除后重输,当文本框为空的那一刹那,程序就报错退出,这些错误无法预料。每个可能出错的地方都有用On Error GoTo 语句,语句太多。有没有简单的方法呀 展开
比如修改文本框数据,将文本框数据删除后重输,当文本框为空的那一刹那,程序就报错退出,这些错误无法预料。每个可能出错的地方都有用On Error GoTo 语句,语句太多。有没有简单的方法呀 展开
8个回答
展开全部
不建议你这么做,你这是逃避错误,而不是改正错误。真正好的程序,是完全不存在On Error语句的!所谓程序的健壮性,指的就是这些。很多错误并不是像你说的是无法预料的(除非是VB集成环境本身的BUG),我们应该预先设想程序可能出现的各种情况,然后逐条解决。比如要想在一个文本框中要求用户输入一个指定范围的数字,结果不外乎这么几种:空白、非数字、超出范围的数字、完全符合要求的数字,那么程序中就可以通过检测把前面的几种情况排除,只让最后一种情况通过,而不是直接把文本框的输入结果拿来就用,然后出了错误就用On Error擦屁股了事!
打个比方:是在水灾发生前就做好各种防灾措施,把水灾扼杀在萌芽状态,还是坐等水灾的发生,然后进行各种补救措施?我相信任何正常的人都会做出明智的选择!
程序员,尤其是初学者,最好不要习惯性地使用On Error 语句,否则的话你的程序永远不可能提高,因为你永远不知道你的程序是怎么出错的!
以上是一个做了10多年的老程序员的忠告!
打个比方:是在水灾发生前就做好各种防灾措施,把水灾扼杀在萌芽状态,还是坐等水灾的发生,然后进行各种补救措施?我相信任何正常的人都会做出明智的选择!
程序员,尤其是初学者,最好不要习惯性地使用On Error 语句,否则的话你的程序永远不可能提高,因为你永远不知道你的程序是怎么出错的!
以上是一个做了10多年的老程序员的忠告!
追问
老兄 你说的是对的,用On Error无法找到错误原因 但有些原因是知道的,比如将文本框数据删除后重输,当文本框为空的那一刹那,程序就报错退出。作为一个简单程序,只是临时、偶尔用一下,又不想花太多时间写的太复杂而已。
追答
On Error属于过程级的,它后面的GoTo只能跳转到当前过程中的其他语句,不能跳转到过程外面的,所以你如果真要这么用,就只能在每个过程中添加On Error了。
另外,由于程序中出现的错误是形形色色的,有些系统级的错误甚至是很致命的,如果强行忽略错误,不让程序退出,很可能会造成整个电脑系统崩溃的,所以不可能有用一种简单的方法就能挡住所有错误不让程序退出的捷径了。
本来用On Error就是一种偷懒的行为了,现在还想懒上加懒,天底下没这么便宜的事的!
展开全部
On Error Resume Next可以忽略错误,但是会造成无法估计的结果。
对于一个健壮的程序来说,要对所有的错误有所处理!
你说的无法预料的错误,要在程序调试中寻找,并编写处理代码!
对于一个健壮的程序来说,要对所有的错误有所处理!
你说的无法预料的错误,要在程序调试中寻找,并编写处理代码!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“修改文本框数据,将文本框数据删除后重输,当文本框为空的那一刹那,程序就报错退出“ 这种情况可以把存储文本框数据的变量定义为variant可变类型 这样就不会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就不用On Error GoTo ,在模块开头用 On Error Resume Next 好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
on error resume next
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询