【发布时间】:2010-04-29 21:27:31
【问题描述】:
我的团队中有人尝试在空的 catch 子句中修复“变量未使用”警告。
try { ... } catch (Exception ex) { }
-> 给出关于ex 未被使用的警告。到目前为止,一切顺利。
修复是这样的:
try { ... } catch (Exception ex) { string s = ex.Message; }
看到这个,我想“太好了,所以现在编译器会抱怨 s 没有被使用。”
但事实并非如此!那段代码没有警告,我不知道为什么。有什么想法吗?
PS。我知道屏蔽异常的包罗万象的条款是一件坏事,但这是一个不同的话题。我也知道通过做这样的事情可以更好地消除最初的警告,这也不是重点。
try { ... } catch (Exception) { }
或
try { ... } catch { }
【问题讨论】:
-
提示:请改用
catch (Exception)。如果要在调试器中查看异常,请使用$exception。
标签: c# compiler-construction warnings try-catch