作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
好的,所以我有这段来自 Microsoft 的绝妙代码,我有一个小问题想摆脱。
原始代码在控制台上打印出 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);
最佳答案
编译器是对的;它也可以是:
catch (ChangeConflictException)
{
foreach (ObjectChangeConflict occ in DB.ChangeConflicts)
{
occ.Resolve(RefreshMode.KeepChanges);
}
}
它限制了进入该 block 的异常,但不为其声明一个变量。如果您想检查 值、记录它或将其包装在另一个异常中,则该变量很有用。只是为了完整性(这里不适用)通常重新抛出应该是throw;
,不是 throw x;
(以保留堆栈跟踪)。
关于c# - 变量 'x' 已声明但从未使用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3144526/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!