2012-05-18 48 views
0

讓我知道我可以在C#中使用這個錯誤。這是VB代碼:C#等效

If Len(sPart1) <> PART1_LENGTH Then 
    Err.Raise(vbObjectError, , "Part 1 must be " & PART1_LENGTH) 

ElseIf Not IsNumeric(sPart1) Then 
    Err.Raise(vbObjectError, , "Part 1 must be numeric") 
+2

不要忘記標記的答案被接受,如果你有d你想要的信息... –

回答

1

更換Err.Raise

throw new Exception("Part 1 must be numeric"); 
+0

除了'使用例外'還有更多。在.NET中不應該依賴vb6的原始錯誤。學習異常,學習堆棧跟蹤。 – dwerner

2

假設你問有關語法而不是特定的類:

throw new SomeException("text"); 
2

首先,讓我們把這一現代VB代碼:

If sPart1.Length <> PART1_LENGTH Then 
    Throw New ApplicationException("Part 1 must be " & PART1_LENGTH) 
ElseIf Not IsNumeric(sPart1) Then 
    Throw New ApplicationException("Part 1 must be numeric") 
End If 

那麼C#轉換是直截了當:

int part; 
if (sPart1.Length != PART1_LENGTH) { 
    throw new ApplicationException("Part 1 must be " + PART1_LENGTH.ToString()); 
} else if (!Int32.TryParse(sPart1, out part)) { 
    throw new ApplicationException("Part 1 must be numeric") 
}