在c ++中,ex.what()函数向我提供了我抛出异常时所写的确切消息,但是在VB中,当我使用自定义消息抛出异常并使用ex.Message时,我得到了原始消息。除了我的以外。
是否有只显示我的自定义消息的简单方法?
示例:
Throw New ArgumentOutOfRangeException("Invalid Range")
Catch ex As ArgumentOutOfRangeException 'invalid range
MessageBox.Show(ex.Message)
End Try
消息输出为:
不仅仅是“无效范围”
答案 0 :(得分:6)
如果抛出ArgumentOutOfRangeException
,则构造函数中的第一个参数是ParamName
而不是Message
。因为该异常用于指示参数何时超出范围,而ParamName
则用于指示参数范围。
示例:
Sub MySub(range As Integer)
Try
Throw New ArgumentOutOfRangeException(Nameof(range), "Invalid Range")
Catch ex As ArgumentOutOfRangeException
MessageBox.Show(ex.Message)
End Try
End Sub
如果只想指定Message
,则需要输入:
Throw New ArgumentOutOfRangeException(nothing, "Invalid Range")