我正在寻找一种"优雅"的方法来在调用方法时抑制异常.
我认为以下代码过于冗长:
try
{ CallToMethodThatMayFail(3); }
catch {}
Run Code Online (Sandbox Code Playgroud)
是否有一些语法糖可以用来说"我真的不在乎这种方法是否失败"?我想调用该方法并继续执行,无论该方法发生什么.
Mar*_*ell 10
忽略/吞下错误很少是个好主意......
为了允许重复使用,您拥有的唯一选择就是采用以下方法Action:
static void IgnoreErrors(Action action) {try {action();} catch {}}
Run Code Online (Sandbox Code Playgroud)
但是,当你完成时,你并没有完全节省下来:
SomeHelper.IgnoreErrors(() => CallToMethodThatMayFail(3));
Run Code Online (Sandbox Code Playgroud)
我刚离开try/ catch到位......
重新评论中的问题:
static void IgnoreErrors<T>(Action action) where T : Exception
{
try { action(); } catch (T) {}
}
SomeHelper.IgnoreErrors<ParseException>(() => CallToMethodThatMayFail(3));
Run Code Online (Sandbox Code Playgroud)
但我仍然会发现try/ catch本地更清楚......