【发布时间】:2009-06-30 20:43:22
【问题描述】:
我正在寻找一种“优雅”的方式来在调用方法时抑制异常。
我认为下面的代码太冗长了:
try
{ CallToMethodThatMayFail(3); }
catch {}
是否有一些语法糖可以用来表达“我真的不在乎这个方法是否失败”?无论该方法发生什么,我都想调用该方法并继续执行。
【问题讨论】:
-
听起来你想要讨厌的 VB,比如 C# 中的 On Error Resume Next 功能!
-
我认为这可能是你能得到的最优雅的。传递给一个函数来处理错误可能会更令人困惑。我不会依赖错误处理来忽略错误。我建议测试您想要忽略的预期错误情况并在您的代码中处理它。引发异常在性能方面比条件语句更昂贵。
-
我想向大家指出,当这是一个好主意时,有一些小众场景。就像今天一样,我不得不修改一些代码来读取动态创建的数据网格,该数据网格只是根据 SQL VIEW 中的行名创建列。有时视图会发生变化,这在代码中可以正常工作,这个视图也可以在其他地方使用。对于这个网页,我需要以某种方式命名的列,但如果将来有人更改 VIEW,我不希望代码中断。
标签: c# error-handling