Zai*_*Ali 6 c# reflection exception
有没有办法知道抛出异常时传递给方法的内容。Convert.ToBoolean(string mystring)什么时候抛出FormatException?这里我想知道抛出异常时mystring是什么?
您必须捕获一般异常(或 FormatException)并将您的值分配给Exception.Data成员。或者用您的值重新抛出一个新的异常。
使用异常数据
如何添加您的额外信息
catch (Exception e)
{
e.Data.Add("ExtraInfo", "More information.");
throw e;
}
Run Code Online (Sandbox Code Playgroud)
如何捕捉
catch (Exception e)
{
if (e.Data != null)
{
foreach (DictionaryEntry de in e.Data)
Console.WriteLine(" The key is '{0}' and the value is: {1}",
de.Key, de.Value);
}
}
Run Code Online (Sandbox Code Playgroud)
// 或者只是用你的字符串重新抛出一个新的异常...
catch (Exception ex)
{
throw new Exception("My string was" + yourString);
}
Run Code Online (Sandbox Code Playgroud)
你应该只是使用Boolean.TryParse. 然后你可以说
bool value;
if(!Boolean.TryParse(myString, out value)) {
// it didn't parse
}
// it parsed
Run Code Online (Sandbox Code Playgroud)