关于VB错误捕捉的问题
改变文字属性的小程序:控件:Command按钮共5个。
核心代码:
程序代码:
Option Explicit Private Sub Command1_Click() Form1.FontBold = True '设置Form1窗体的字体为粗体 Print "这是粗体" '在窗体上输入一句话:这是粗体 End Sub Private Sub Command2_Click() Form1.FontBold = False '设置Form1窗体的字体为带下划线的 Form1.FontItalic = False Form1.FontUnderline = True Print "这是带下划线的" '在窗体上输入一句话:这是带下划线的 End Sub Private Sub Command3_Click() Form1.FontBold = False '设置Form1窗体的字体为斜体 Form1.FontItalic = True Print "这是斜体" '在窗体上输入一句话:这是斜体 End Sub Private Sub Command4_Click() Form1.FontBold = False '设置Form1窗体为带删除线的 Form1.FontItalic = False Form1.FontUnderline = False Form1.FontStrikethru = True Print "这是带删线的" '同上,依次类推。 End Sub Private Sub Command5_Click() On Error GoTo err1 '错误捕捉程序,在发生错误的情况下跳转到err1 Dim a As String '设置a为字符串型变量 a = InputBox("输入要改变的字号", "提示", "") '用Inputbox带出用户要改变的字号并将其赋值给a Form1.FontSize = a '将Form1窗体的字体大小设置为13 If Error.Number = 13 Then 'If判断语句,如果满足错误代码=13 Exit Sub '那么退出过程 err1: '跳转到错误处理部分 MsgBox "请在文本框中输入字号", vbOKOnly + vbCritical, "错误提示" '弹出的警示窗 End If Err.Clear End Sub四个问题:
Q1:Err.Clear的意思,是清除错误处理部分,还是清除错误信息,或者其他的?
A1:
Q2:这个错误捕获程序,为何要在
If Error.Number = 13 Then这句代码后加一个Exit Sub退出过程的代码?不退出过程,直接到错误处理部分不行吗?
A2:
Q3:我没加Exit Sub这句代码时,会出现如图的错误:
A3:
Q4:这个程序,设计的是在错误代码(error=13)=13的情况下,才跳转到错误处理部分,弹出警示窗。为何我在Inputbox的文本框中输入了数字,(删除错误捕捉的代码,可以测试出在此处并没有弹出错误代码=13的弹窗)仍旧弹出警示窗,为何?
A4:
因为问题较多,所以为了更加清楚的表达,故上传源文件,期待大神解决。
源文件:
改变字体属性.rar
(1.98 KB)