【发布时间】:2012-09-03 01:45:52
【问题描述】:
在我的索引属性中,我检查索引是否超出范围。如果是,我抛出一个IndexOutOfBoundsException。
当我运行代码分析器(在 VS12 中)时,它会抱怨 CA1065: Unexpected exception in unexpected location。
仅参考CA1065的描述
System.InvalidOperationException
System.NotSupportedException
System.ArgumentException
KeyNotFoundException
在索引 getter 中是允许的。
投掷IndexOutOfBoundsException 对我来说似乎很自然,那么这里的推理是什么?
(是的,我知道我可以关闭警告,我只是想知道原因)
【问题讨论】:
-
请张贴代码,说明您在哪里抛出异常以及在哪里捕获异常。
-
这很奇怪。
System.String.this[int]会抛出IndexOutOfRange,因此库中的主类不遵循此准则。 -
@Blam:只是出于好奇:这会给你带来什么?
-
如果你有一些你不知道的错误语法
-
@Blam -- 这里的语法无关 -- 代码分析不检查语法。他所描述的内容清晰而直截了当。无需代码示例。
标签: c# .net code-analyst