【发布时间】:2011-07-05 11:46:06
【问题描述】:
我的VB.NET 程序有错误。我尝试了各种演员表等,但它不能解决问题 - 所以我很不情愿地在这里发布它,看看是否有其他人有类似的问题。
错误信息
Error 1 Option Strict On 不允许从 'Object' 到 'String' 的隐式转换。
代码
Private DS As New DataSet ' Languages
Function TransTxt(ByVal Frm As String, ByVal Item As String) As String
Dim language As String
Select Case My.Settings.Language
Case 0 : language = "en" ' English
Case 1 : language = "fr" ' French
Case 2 : language = "it" ' Italian
Case 3 : language = "sp" ' spanish
Case 4 : language = "pt" ' portuguese
Case 5 : language = "de" ' german
Case 6 : language = "du" ' dutch
Case Else : language = "en" ' English
End Select
Try 'ONE of these rows is the error
Dim DR() As DataRow = DS.Tables(Frm).Select("Tag = '" & Item & "'")
Return DR(0).Item(language)
Catch ex As Exception
Return "- error -" & Item
End Try
End Sub
【问题讨论】:
-
调试的一般提示:删除 Try-Catch。然后 Visual Studio 将中断真正导致错误的行。此外,您不应该将错误消息作为函数的返回值返回——这就是 Exceptions 的用途。只需让(意外的)异常在您的函数树中冒泡,并且只在最顶层处理它。
-
@Heinzi - 这是一个编译错误。
-
@Hans: 嗯.. 当然,对,对不起。我猜想 try 块开头的注释“
ONE of these rows is the error”以及 OP 没有说明错误发生在哪一行的事实让我草率地阅读了这个问题。
标签: vb.net