[VB.NET]看看下面的代码,怎么没有错误提示呀!!!!!!
2008-12-28 15:29
796 查看
看看下面的代码,怎么没有错误提示呀!!!!!!
自己建的类:
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
__________________________________________________________________________
相关文章推荐
- 下面代码出现错误:[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号] ,请问是怎么回事啊?
- [VB.NET]大家看看,这段代码出错了,要怎么改,谢谢,,在线等,当天结贴!!!!!!
- mysql提示错误代码1045什么问题原因怎么办?解决方法
- 很奇怪,下面这段代码在VC6.0里面运行正常,但在VS2010面确有错误提示,求高手解释!
- android studio 提示IDE出现错误,或输入代码没有提示
- Myeclipse代码提示-没有代码提示怎么办
- 苹果设备安装Win 10后iTunes提示错误代码-54该怎么办?
- 代码阅读总结之Fitch and Mather 7.0(asp.net发生异常或错误时错误提示页面的处理方法)
- 这个VB.NET程序老难了,哪位高手能帮下忙看看,解释下错误,改正下,实在是太感谢了
- win10系统升级提示错误代码0x80070006-0x2000c该怎么解决
- [VB.NET]来段弱智代码提提神哟 谁帮我把错误给跳过去
- 在ASP 调用 VB.net 编写的dll 出错 提示:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象
- VB.net GDI+ 内存不足,一般性错误,对象错误等解决方案和优化代码。
- 百度知道的代码复制粘贴到VB没有换行怎么办
- Win10打开应用商店提示错误代码“0x803c010A”怎么办?
- win10下qt 中没有代码提示框了怎么办?
- 打开项目时提示如下错误:Visual Studio .NET 无法创建应用程序 。问题很可能是因为本地 Web 服务器上没有安装所需的组件
- 打开项目时提示如下错误:Visual Studio .NET 无法创建应用程序 。问题很可能是因为本地 Web 服务器上没有安装所需的组件
- Win7开机提示错误代码0xc0000102怎么办?
- [VB.NET].net 安装错误 内部错误2908 怎么回事