我在代码中有很多部分
try
{
// not so important code, but don't want this to affect anything else
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)
使用这被认为是一种不好的做法?
Try(() =>
{
});
void Try(Action a)
{
try
{
a();
}
catch
{
// ignore.
}
}
Run Code Online (Sandbox Code Playgroud)
当然,你总是可以添加一个异常处理程序:
void Try(Action a, Action<Exception> onErr)
{
try
{
a();
}
catch (Exception e)
{
onErr(e);
}
}
Run Code Online (Sandbox Code Playgroud)
那你就得:
Try(
()=> { /* do something */ }
e => { } );
Run Code Online (Sandbox Code Playgroud)
你可以有一个标准的空手道
static void IgnoreError(Exception e)
{
#if DEBUG
throw e;
#end if
}
Try(
()=> { /* do something */ }
IgnoreError );
Run Code Online (Sandbox Code Playgroud)
我认为这不是很糟糕,但它非常不标准 - 你的代码会让人感到困惑,我认为它不会增加任何东西.考虑这一点很有意思,但我认为你的代码最终会让人感到困惑.
此外,虽然在某些情况下您可能希望忽略异常,但实际上并不希望这样做更容易.
| 归档时间: |
|
| 查看次数: |
2536 次 |
| 最近记录: |