c# - 过滤 C# 的调试输出

标签 c# debugging filtering

是否可以从 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/

相关文章:

c# - Visual Studio 2010 调试器中的上下文变量

android - 无法调试 Android 应用程序

android - SearchView 过滤和设置建议

python - 瓶内IP过滤

python - 按日期过滤 Pandas DataFrame

c# - 是什么阻止了样式在运行时应用于 Silverlight 控件?

c# - MVC 路由匹配无效的路由

c# - 尝试在 C# 上使用 AutoCAD 类镜像绘图

java - 使用 Protocol Buffer 序列化/反序列化独立整数

php - PHP 中的命令相当于 javascript 中的警报