我有以下代码块,我想知道为什么抛出运行时错误而不是我能够在catch
内处理异常(我在int i = 1;
放置一个断点但是从未达到过):
var stringArray = textRow.Split(Delimiter);
try
{
var a = DateTime.Parse(stringArray[0]);
var b = double.Parse(stringArray[2]);
var c = double.Parse(stringArray[3]);
}
catch (Exception e)
{
int i = 1;
}
抛出以下FormatException
错误:
System.FormatException occurred
_HResult=-2146233033
_message=The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.
HResult=-2146233033
IsTransient=false
Message=The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.
Source=mscorlib
StackTrace:
at System.DateTime.Parse(String s)
InnerException:
我知道我可以使用TryParse
,但我喜欢测试try / catch是否会提高性能,因为我会迭代这个代码块数百万次。
由于
答案 0 :(得分:2)
在发生异常后尝试继续调试。该消息表示发生了第一次机会异常但您可以继续该程序。那你应该到达断点。如果没有try .. catch块,你会得到一个UNHANDLED异常。