是否可以从 C# 中的调试输出中过滤掉不同类型的异常?
我想过滤掉“System.FormatException”,因为我知道它会发生,而且它对我的输出进行了垃圾监督。我正在扫描一个超过 20,000 行的文本文件,其中几乎四分之一是错误的,但我不想在输出中出现 5000 次“System.FormatException”...
代码如下,你可以看到,如果不是数字,它不会double.parse,所以它会捕获错误。
if (!(dataline.EndsWith(";0") || intCounter == 0))
{
try
{
natMB = double.Parse(splitline[8], NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo);
}
catch
{
natMB = 0;
}
double intMB;
try
{
intMB = double.Parse(splitline[9], NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo);
}
catch
{
intMB = 0;
最佳答案
如果你想忽略一个异常,你可以把下面的 try/catch 放在它上面:
try
{
// Insert your code here
}
catch(System.FormatException)
{
}
看到你的代码我建议你使用
double d = 0;
Boolean success = double.TryParse(splitline[8], out d);
if(success)
Console.WriteLine("Conversion successful!");
else
Console.WriteLine("Damnit.");
反而。这将返回一个关于转换是否正常的 bool 值,并将解析的 double 值存储在您传递函数的变量中。
关于c# - 过滤 C# 的调试输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514760/