【发布时间】:2011-05-23 01:03:39
【问题描述】:
我正在使用这样的闭源第三方库:
object val = SomeClass.ExtractValue( someObject );
现在,在更远的地方,第三方库尝试解析具有意外格式的 DateTime 值并引发 FormatException。
在这种情况下,我想检索它没有成功解析的字符串并尝试自己解析它。 像这样的:
object val;
try
{
val = SomeClass.ExtractValue( someObject );
}
catch( FormatException e )
{
string failed = e.GetParseArgument( );
val = DateTime.Parse( failed + " 2010" );
}
是的,简单地附加年份是毫无意义的,但你明白了。 第三方库不支持我需要的所有格式,但我也不能轻易从“someObject”中获取数据。 (是的,我可以尝试使用 Reflector 复制库所做的事情,但我想避免这种情况。)
有没有办法做到这一点? 谢谢。
【问题讨论】:
-
您是否可以控制第 3 方库的输入? IE,你能否解析 SomeObject 中的 dateTime,并在传入之前以你知道第三方可以接受的格式重新保存它?
-
不。实际上,someObject 是一个 IDataReader 对象。
标签: c# exception arguments stack-frame