是否可以使CStr引发异常?

时间:2018-09-12 15:17:23

标签: vb.net

我有一些类似以下的旧代码:

Try
    Dim val As String = CStr(some_other_value)
Catch ex As Exception
    ' Do exception stuff here
End Try

我很好奇; CStr甚至有可能引发异常?

2 个答案:

答案 0 :(得分:2)

如果正在转换的东西不能被转换为字符串,您可能会出错。

示例:

Dim a as New Object
Dim s As String
s = CStr(a)

这导致

  

System.InvalidCastException:从类型“对象”到类型的转换   '字符串'无效。'

我很难找到其他可能导致这种情况的情况,因为大多数其他情况都会导致编译时错误。

答案 1 :(得分:1)

来自documentation

  

行为

     
      
  • 转换失败。如果传递给函数的表达式超出了将要转换为的数据类型的范围,则   OverflowException发生。
  •