VB异常ex.Message

时间:2019-02-22 07:29:21

标签: vb.net

在c ++中,ex.what()函数向我提供了我抛出异常时所写的确切消息,但是在VB中,当我使用自定义消息抛出异常并使用ex.Message时,我得到了原始消息。除了我的以外。

是否有只显示我的自定义消息的简单方法?

示例:

Throw New ArgumentOutOfRangeException("Invalid Range")

    Catch ex As ArgumentOutOfRangeException 'invalid range

        MessageBox.Show(ex.Message)

    End Try

消息输出为:

enter image description here

不仅仅是“无效范围”

1 个答案:

答案 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")