为什么 try 中的 FormatException 没有被 catch 捕获?

Why does a FormatException within `try` not get caught in `catch`?

我有以下代码块,我想知道为什么会抛出 运行 时间错误,而不是我能够在 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 是否会带来更好的性能,因为我对该代码块进行了数百万次迭代。

谢谢

出现异常后尝试继续调试。该消息表示发生了第一次机会异常,但您可以继续该程序。然后你应该到达断点。如果没有 try..catch 块,您将得到一个 UNHANDLED 异常。