好的,所以我从微软那里得到了一些漂亮的代码,我有点想要摆脱它的打嗝.
原始代码在控制台上打印出ChangeConflictException x,但我删除了这一行.现在,每次我使用这段代码时,我都会收到错误:"变量'x'被声明但从未使用过".
在保留代码功能的同时摆脱此错误的最有效方法是什么?
//See http://msdn.microsoft.com/en-us/library/bb386918.aspx
try
{
DB.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException x)
{
foreach (ObjectChangeConflict occ in DB.ChangeConflicts)
{
occ.Resolve(RefreshMode.KeepChanges);
}
}
// Submit succeeds on second try.
DB.SubmitChanges(ConflictMode.FailOnFirstConflict);
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 24
编译器是对的; 它也可以是:
catch (ChangeConflictException)
{
foreach (ObjectChangeConflict occ in DB.ChangeConflicts)
{
occ.Resolve(RefreshMode.KeepChanges);
}
}
Run Code Online (Sandbox Code Playgroud)
这限制了进入该块的异常,但并不声明一个变量它.如果要检查值,记录它或将其包装在另一个异常中,则该变量很有用.只是为了完整性(在这里不适用)通常再掷应该是throw;,不 throw x;(保存堆栈跟踪).
| 归档时间: |
|
| 查看次数: |
4741 次 |
| 最近记录: |