我在高中时用VB语言完成过一个计算器程序,它叫Runner.
如果简单计算器只有在特殊情况下会出现错误:
- 显示错误.
- 除0;
- 运算的数字过大,过小.
显示错误
由于VB的文本框全权由自己管理,你要防止用户不小心输入了两个小数点.或者输入两个00在开头之类的.这种处理当时耗费了很长时间.幸得当时的计算机老师王老师所助,她为我找了不少代码,供我学习思考.我当时将文本框作为中间存储区.
输入->过滤->文本框->运算赋值
除0
这是很容易想到的.我在做除法运算的时候,判断第二个除数是否为0,如果是0,则弹出错误窗口.然后不执行结果.
(回想当年对程序的设计,就仿佛在刚才(~ o ~)~)
运算数字过大或者过小
解决方案:
1限制输入:
限制文本框最大接收文本.可以达到这个目的.但是不想废除连算功能.
在连算比如:多次平方后还是可以爆掉.
2如果检测到上一次结果达到了最大运算平方的根.
那么弹出错误窗口.然后不执行结果.
更好的解决方案是通过异常机制来完成.
以下代码来自百度问答
Private Sub Command1_Click()
Dim A As Integer
'截获错误
On Error GoTo Err1
'A为整型变量赋值40000会溢出
A = 40000 '这时会跳到Err1处执行错误处理
'给A重新赋值并消息提示A
A = 30000
MsgBox A
Exit Sub
'错误处理
Err1:
MsgBox "出错了!" & vbCrLf & "错误编号:" & Err.Number & " 错误描述:" & Err.Description
'返回出错语句的下一句继续执行余下的代码
Resume Next
End Sub