我正在使用一些外部代码,当使用某些参数调用它们时会引发可以忽略的异常。不幸的是,由于各种原因,我无法更改此外部代码。
我创建了一个看起来像这样的包装方法:
[DebuggerStepThrough]
public static bool TryGetXXX(string input, out string output)
{
try
{
output = MethodThatSometimesFails(input);
return true;
}
catch
{
output = null;
return false;
}
}
private static string MethodThatSometimesFails(string input)
{
// Don't want this to cause a break
// but can not put the attribute on this method
throw new Exception("couldnt deal with your request");
}
不幸的是,外部代码仍然会在内部的异常处中断MethodThatSometimesFails
。[DebuggerStepThrough]
只会避免调试上面的代码,但被调用的代码仍然会抛出。
我想要的是,即使选中了“异常...”窗口上的所有复选框,代码也会运行。有没有可以做到这一点的属性?
如果没有属性,我可以创建一个包含这些类/方法的项目并排除整个项目。有没有办法做到这一点?