加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[VB.NET]看看下面的代码,怎么没有错误提示呀!!!!!!

发布时间:2020-12-16 23:43:15 所属栏目:大数据 来源:网络整理
导读:看看下面的代码,怎么没有错误提示呀!!!!!! 自己建的类: Private name As String Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) Try If value = 10 And value = 1 Then Me.name = value End If Catch ex As
看看下面的代码,怎么没有错误提示呀!!!!!! 自己建的类: Private name As String Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) Try If value <= 10 And value > = 1 Then Me.name = value End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Set End Property 按钮为4: Private Sub Button4_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button4.Click Dim nam As New Class1 nam.nm = 1333 MessageBox.Show(nam.nm) End Sub __________________________________________________________________________ Public Class Class1 Private name As String Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) Try If value <= 10 And value > = 1 Then Me.name = value Else Me.name = "Error " Throw New Exception( "The value is out of range. ") End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Set End Property End Class __________________________________________________________________________ Set(ByVal value As String) Try If value <= 10 And value > = 1 Then 到底是string还是int类型? 如果是string要用 len()求哦。 __________________________________________________________________________ 楼主错误理解了Try的使用方法,如果没有出系统级别错误Try是不会报错的 应将如下代码进行修改: Try If value <= 10 And value > = 1 Then Me.name = value End If Catch ex As Exception MessageBox.Show(ex.Message) End Try 改后代码: If value <= 10 And value > = 1 Then Me.name = value Else MsgBox(Value) End If __________________________________________________________________________ VB.NET默认允许隐式转换 value 会自动转换为Double类型 楼主是不是希望检测字符串长度,不太明白,给出两种方式,尽量不要用Try做逻辑验证 If value Is Nothing Then MsgBox( "传入的值为空! ") : Exit Property If value.Length > 0 AndAlso value.Length < 11 Then Me.name = value Else MsgBox( "传入的值溢出! ") End If If IsNumeric(value) = True Then If CInt(value) > 0 AndAlso CInt(value) < 11 Then Me.name = value Else MsgBox( "传入的值溢出! ") End If Else MsgBox( "传入的值不是数字类型! ") End If __________________________________________________________________________ 好像是问题问的有点不太清楚,在这里补充一下!!! 进行错误提示,但是当我将nam.nm = 1333时,系统却没有提示我出错 我规定的范围时 从 1 到 10 超出范围了但是没有提示我出错,这怎么解决呀!!!!! __________________________________________________________________________ 超出了范围如果想明确的引发自定义的异常,必须自己Throw出来一个异常 就像楼上各位举的例子一样.. __________________________________________________________________________ 那用 try 里的 messagebox.show(ex.message) 不行吗??? 还是只能用throw 呀!!!!! __________________________________________________________________________ 是不是这样最简单: Try If cint(value) <= 10 And cint(value) > = 1 Then Me.name = value End If Catch ex As Exception Throw New Exception(ex.Message) End Try __________________________________________________________________________ 这样也不会抛出错误吧? __________________________________________________________________________ Private name As String Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) If value <= 10 And value > = 1 Then Me.name = value Else ‘抛出自定义的异常咯... End If End Set End Property __________________________________________________________________________ Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) If CInt(val(value)) <= 10 And CInt(val(value)) > = 1 Then Me.name = value Else ‘抛出自定义的异常咯... End If End Set End Property __________________________________________________________________________ 根本没有发生异常,怎么又会报错呢 __________________________________________________________________________ 当你代码出现异常时才会报错! __________________________________________________________________________ Private name As String Public Property nm() As String Get Return Me.name End Get Set(ByVal value As String) Try If value <= 10 And value > = 1 Then Me.name = value else Catch ex As Exception MessageBox.Show(ex.Message) EndIf End Try End Set End Property __________________________________________________________________________

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读