求助

duxingshiweione 2019-07-11 04:45:17
下面是1个Button的click事件,当在textbox1里面输入非数字,点击按钮后,弹出对话框“请输入数字”,不太明白try catch为什么可以实现检查输入数据是否数字的功能




Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim test As Integer
Try
test = TextBox1.Text

Catch ex As Exception
MsgBox("请输入数字")
Exit Sub
End Try
End Sub
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yishumei 2019-07-12
  • 打赏
  • 举报
回复
引用 4 楼 duxingshiweione 的回复:
[quote=引用 2 楼 一树梅 的回复:] test定义为Integer类型,textbox输入非数字,编译器无法转换成Integer类型,所以报错。try catch只是抓到了错误,"请输入数字"是错误提示的内容。
但是如果把test定义为Single或char类型时,textbox输入浮点或字符时,为什么try catch就捕捉不到错误[/quote] 抓不到错误就是没有错误呗,编译器可以实现类型的强制转换。断点调试一下看看test的值是多少。
duxingshiweione 2019-07-12
  • 打赏
  • 举报
回复
引用 2 楼 一树梅 的回复:
test定义为Integer类型,textbox输入非数字,编译器无法转换成Integer类型,所以报错。try catch只是抓到了错误,"请输入数字"是错误提示的内容。


但是如果把test定义为Single或char类型时,textbox输入浮点或字符时,为什么try catch就捕捉不到错误
ruhong1 2019-07-12
  • 打赏
  • 举报
回复
引用 2 楼 一树梅 的回复:
test定义为Integer类型,textbox输入非数字,编译器无法转换成Integer类型,所以报错。try catch只是抓到了错误,"请输入数字"是错误提示的内容。

对,关键就是这个integer
yishumei 2019-07-12
  • 打赏
  • 举报
回复
test定义为Integer类型,textbox输入非数字,编译器无法转换成Integer类型,所以报错。try catch只是抓到了错误,"请输入数字"是错误提示的内容。
ManBOyyy 2019-07-11
  • 打赏
  • 举报
回复
這是報錯提示啊,比如你在
Try
test = TextBox1.Text
money= TextBox2.Text
Catch ex As Exception
MsgBox("请输入数字")
Exit Sub
End Try


這種你怎麼判斷是TextBox1錯誤還是TextBox2啊

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧