为什么' try '中的FormatException不会在' catch '中被捕获?
本文关键字:catch 中的 try FormatException 为什么 | 更新日期: 2023-09-27 18:05:15
我有以下代码块,我想知道为什么会抛出运行时错误,而不是我能够处理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是否会获得更好的性能,因为我在这个代码块上迭代了数百万次。
谢谢
在发生异常后尝试继续调试。消息显示发生了第一次异常,但您可以继续程序。你应该到达断点。如果没有尝试…你会得到一个UNHANDLED异常